摘要: js 定义接口有三种方式 : 1、注解描述方式 优点 : 程序有可以有一个参考 缺点 : 还是属于文档的范畴,这种方式太松散,没有检查接口的方法是否完全被实现 阅读全文
posted @ 2017-11-26 14:29 linfang.zhou 阅读(2998) 评论(0) 推荐(0) 编辑
摘要: 1、混合继承的弊端 混合继承在继承原型的时候,其实将 父类的模板 再次继承,影响效率 改进方法 阅读全文
posted @ 2017-11-26 11:07 linfang.zhou 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 1、原型继承 (既继承了父类的构造器模板,又继承了父类的原型) 2、类继承(只继承父类的构造器模板,不继承父类的原型) 3、混合继承 (既继承了父类的构造器模板,又继承了父类的原型) 阅读全文
posted @ 2017-11-16 12:44 linfang.zhou 阅读(1012) 评论(0) 推荐(0) 编辑
摘要: 实现 子类继承父类的属性和方法 阅读全文
posted @ 2017-11-15 13:00 linfang.zhou 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 1、原型的弊端 改进方法一 : 2、组合原型和构造函数式 3、动态原型模式 4、稳妥构造函数式 阅读全文
posted @ 2017-11-08 15:56 linfang.zhou 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 1、简单原型 上面的方法虽然在创建原型属性的时候比较便捷,但是他改变了 Person.prototype 的 constructor , 因此需要对上面的方法进行改造 2 、方法一 该方法实现了 在使用简单原型时,不改变 原型的构造器 即 Person.prototype 的 constructor 阅读全文
posted @ 2017-11-07 22:12 linfang.zhou 阅读(183) 评论(0) 推荐(0) 编辑
摘要: var arr = [1,2,3,[4,5,[6,7,[8]]]]; Array.prototype.each = function (fn) { try { this.i || (this.i = 0); // count 计数器 ,记录当前遍历的元素的位置 // 严谨的判断什么时候走 核心的 e... 阅读全文
posted @ 2017-11-07 16:44 linfang.zhou 阅读(2304) 评论(0) 推荐(0) 编辑
摘要: 1、Object.getPrototypeOf() : 根据实例对象获得原型对象 2、每次代码读取对象的一个属性的时候,首先在实例对象的属性中搜索是否有要找的属性,如果有,则取该属性值,如果没有,则去该对象对应的原型对象中查找该属性,如果有则返回该属性值,如果没有则返回 undefined 3、ha 阅读全文
posted @ 2017-11-07 14:31 linfang.zhou 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 2、构造函数模式 由于实例化对象时,每个对象都将创建一个 sayName 的方法,因此每个对象的 sayName 方法都不相同,所以效率相对较低,改进方法一 : 此时,创建的所有对象将共用一个 sayName 方法,但是该方法还有个缺点,就是创建了一个全局的 sayName 函数,效率也是比较低下 阅读全文
posted @ 2017-11-07 11:01 linfang.zhou 阅读(142) 评论(0) 推荐(0) 编辑
摘要: JavaScript 的对象(Object),本质上是键值对的集合(Hash 结构),但是传统上只能用字符串当作键。这给它的使用带来了很大的限制。 为了解决这个问题,ES6 提供了 Map 数据结构。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。 阅读全文
posted @ 2017-06-28 16:07 linfang.zhou 阅读(164) 评论(0) 推荐(0) 编辑