JavaScript设计模式与开发实践.pdfVIP

  1. 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
  2. 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
  3. 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
目 录 基础部分 单例模式 策略模式 代理模式 迭代器模式 发布-订阅模式 命令模式 组合模式 模板方法模式 享元模式 职责链模式 中介者模式 装饰者模式 状态模式 适配器模式 设计原则和编程技巧 本文档使用 看云 构建 - 2 - 基础部分 基础部分 instanceof Symbol 创建私有属性 Object.create 继承与原型链 call、apply和bind 变量的作用域 变量的生存周期 闭包 高阶函数 AOP 函数科里化 uncurrying 函数节流 分时函数 惰性加载函数 instanceof 参考链接 instanceof 运算符用来测试一个对象在其原型链中是否存在一个构造函数的 prototype 属性 object instanceof constructor , object 要检测的对象 , constructor 某个构造函数 // 定义构造函数 function C(){} function D(){} var o new C(); o instanceof C; // true 因为Object.getPrototypeOf(o) C.prototype o instanceof D; // false 因为D.prototype不在o的原型链上 o instanceof Object; // true 因为Ototype.isPrototypeOf(o) 返回true C.prototype instanceof Object 本文档使用 看云 构建 - 3 - 基础部分 // true 同上 C.prototype {}; var o2 new C(); o2 instanceof C; // true o instanceof C; // false C.prototype指向了一个空对象,这个空对象不再o的原型链上 D.prototype new C(); //继承 var o3 new D(); o3 instanceof D; // true o3 instanceof C; // true Symbol 创建私有属性 参考链接1参考链接2 Symbol 为一种数据类型 ,可以使用此类型的值来创建匿名的对象属性 ,此类型作为一个私有对象属性的键 , 用于类或对象类型的内部使用。 var privateVal Symbol(); this[privateVal] function(){}; 该属性为匿名且不可枚举 ,访问全局 Symbol 的方式为 Symbol.for() 和 Symbol.keyFor() Symbol 值作为属性名时 ,该属性还是公开属性 ,不是私有属性 消除魔术字符串 const shapeType { triangle: Triangle }; function getArea(shape, options) { let area 0; switch (shape) { case shapeType.triangle: area .5 * options.width * options.height; break; } return area; } getArea(shapeType.triangle, { width: 100, height: 100 }); 本文档使用 看云 构建 - 4 - 基础部分 // 改写为 const shapeType { t

文档评论(0)

max + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档