javascript创建对象的7种模式(赋:优点+缺点分析)
2017-09-07 16:15
387 查看
Js创建对象方法的模式(共七种)
1.工厂模式
工厂模式弊端:没有解决对象识别问题,即不知道对象的类型(对象类型:内部对象、宿主对象、开发人员自定义的对象)
对象类型请参考:http://blog.sina.com.cn/s/blog_70a3539f0101eww3.html
2.构造函数模式
优点:实例标识为一种特定的类型,即知道person1(person2)是Person对象的实例
弊端:
也就是说相同的Person实例都有不同Function的实例,造成作用域链和标识符解析不同。如:alert(person1.sayName
== person2.sayName); //false
3.原型模式(创建的每个函数都有prototype属性)
优点:解决了构造函数遗漏的弊端,使原对象的属性和方法为所有新的实例共享
弊端:属性共享
4.构造和原型组合使用模式(吸取两者的优点)
5.动态原型模式(上面是分两块写,下面是在构造函数中写原型方法)
举例:对象字面量表示法- var person = {};
6.寄生构造函数模式( 写法与工厂模式差不多 )
7.稳妥构造函数模式
特点:没有公共属性(即this.name = name;的结构代码),实例对象时不用new,访问某些属性只能通过某个方法(如上面的name)
创建对象总结:每个构造函数都有一个原型对象,原型对象包含指向构造函数的指针。对象的实例都包含一个指向原型的[[prototype]]。
原型知识可参考:http://blog.csdn.net/TionSu/article/details/77800816参考:图文代码参考《JavaScript高级编程第三版》,其余描述为自己的理解。有错误欢迎指出,谢谢!
相关文章推荐
- JavaScript中创建对象的7种模式详解
- javascript 创建对象的7种模式
- JavaScript创建对象的7种模式
- javascript中原型模式创建对象特点分析
- JavaScript创建对象的7种模式
- JavaScript中的对象-如何创建对象,创建对象的7种模式
- JavaScript中的对象,如何创建对象,创建对象的7种模式
- JavaScript中的对象,如何创建对象,创建对象的7种模式
- JavaScript中的对象-创建对象的7种模式
- JavaScript创建对象的7种模式
- JavaScript 创建对象的7种模式
- 深入理解JavaScript系列(47):对象创建模式(上篇)
- javascript(js)创建对象的模式与继承的几种方式
- JavaScript高级程序设计之面向对象的程序设计之创建对象之组合使用构造函数模式和原型模式 第6.2.4讲笔记
- javascript笔记:深入分析javascript里对象的创建(中)
- 在javascript中创建对象的各种模式解析
- javascript继承(二)—创建对象的三种模式
- javascript对象的几种模式创建方式
- javascript创建对象的几种模式
- 浅析在javascript中创建对象的各种模式