摘要: js中有三种继承方式:一、通过原型(prototype)实现继承 二、借用构造函数式继承,可分为通过call()方法实现继承和通过apply()方法实现继承 仅仅通过原型继承我们可以发现在实例化子类时无法向父类构造函数中传递参数,call()方法存在于Function对象实例中的原型对象属性中。 c 阅读全文
posted @ 2017-02-05 23:30 司徒海棠 阅读(3830) 评论(0) 推荐(0) 编辑
摘要: 一 使用工厂方法构建对象 JS中创建对象较老的方式,由于使用该方法无法进行实例归属检测(弊端)。【JS中提供的内置对象都是支持实例归属检测的】 二 使用单例模式(字面量形式)构建对象 {}等同于new Object();书写简单,结构清晰,但同样无法检测实例归属,使用比较广泛。 三 使用构造函数构建 阅读全文
posted @ 2016-12-17 12:13 司徒海棠 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 原型对象也是普通的对象,是对象一个自带隐式的__proto__属性,原型也有可能有自己的原型,如果一个原型对象的原型不为null的话,我们就称之为原型链。原型链是由一些用来继承和共享属性的对象组成的(有限的)对象链。 原型对象中的属性可以被多个实例共享。原型对象存在于构造函数的属性(prototyp 阅读全文
posted @ 2016-11-19 20:44 司徒海棠 阅读(452) 评论(0) 推荐(1) 编辑
摘要: 简单理解就是函数的嵌套形成闭包,闭包包括函数本身及其外部作用域。在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。 下面是一个简单的闭包: 个人对闭包的理解是允许在一个作用域中访问其自身以外的变量或函数。当函数创建后并执行就会产生作用域(形象的说就是安全气泡)。 闭包(closure)的原理 阅读全文
posted @ 2016-11-14 14:18 司徒海棠 阅读(387) 评论(2) 推荐(1) 编辑
摘要: 首先还是要强调一下DI,DI(Denpendency Injection)伸手获得,主要解决模块间的耦合关系.那么模块是又什么组成的呢?在我看来,模块的最小单位是类,多个类的组合就是模块.关于在根模块上如何创建控制器我已经在上一篇简单讲过了,现在补充一下,首先是控制器的命名,控制器的命名应遵循这样的 阅读全文
posted @ 2016-10-29 19:40 司徒海棠 阅读(825) 评论(5) 推荐(3) 编辑
摘要: angular1.x作为经典的mvc框架,可以创建能够复用的组件,也可进行双向数据绑定.国内的vue.js/avaloon.js都是同类型的框架.适合使用angularjs的项目有大型信息化管理系统:企业资源计划(ERP).它适合表单多,模块多的项目,hybrid app,不适合高并发的项目. an 阅读全文
posted @ 2016-10-26 20:30 司徒海棠 阅读(6766) 评论(1) 推荐(3) 编辑