博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript面向对象编程之创建对象
阅读量:5319 次
发布时间:2019-06-14

本文共 580 字,大约阅读时间需要 1 分钟。

参考资料依旧《JavaScript高级程序设计》,不得不说这本书写的太好了,讲的极为清晰凝练,好书!

先给出重点笔记,好好理解下面的三条笔记,每一句话都很重要:

1.实例的指针仅指向原型,而不指向构造函数

可以随时为原型添加属性和方法,并且修改能够立刻在所有对象实例中表现出来,但如果重写整个原型对象,那么情况就不一样了。调用构造函数是会为实例添加一个指向最初原型的_proto_指针,而把原型修改为另外一个对象就等于切断了构造函数与最初原型之间的联系。
2.我们不推荐在产品化的程序中修改原生对象的原型。
3.创建自定义类型的最常见方式,就是组合使用构造函数模式和原型模式。构造函数模式用来定义实例属性,而原型模式用来定义方法和共享属性。结果,每个实例都会有自己的一份实例属性的副本,但同时又共享着对方法的引用最大限度的节省了内存(因为函数也是对象)。另外,这种混成模式还支持向构造函数传递参数,可谓是集两种模式之长

下面的代码给出了四种构建方法的demo(寄生虫模式和稳妥模式未录入)

1.工厂模式

2.构造函数

3.对象原型

4.构造函数和对象原型组合模式

1  2  3  4     
5 6 7 8 85 86

 

转载于:https://www.cnblogs.com/yueyanglou/p/4588711.html

你可能感兴趣的文章
单例设计模式---懒汉式的多线程安全隐患
查看>>
JSP复习整理(四)Cookie
查看>>
iphone传照片还是用QQ比较好
查看>>
随手练——HDU 5015 矩阵快速幂
查看>>
Python默认调用路径
查看>>
启动redis一闪就关
查看>>
Maven之setting.xml配置文件详解
查看>>
python简单小常识
查看>>
可视化框架设计-图表类型
查看>>
HDU1823 Luck ans Love 二维线段树
查看>>
富数据控件 DetailsView 和 FormView
查看>>
ASP.NET 4.5 Web Forms and Visual Studio vs2013年入门1
查看>>
JUC - ReentrantLock 的基本用法 以及 lock()、tryLock()、lockInterruptibly()的区别
查看>>
《那一世》
查看>>
迷你DVD管理器
查看>>
从github上下载的ipynb文件的打开方法
查看>>
PAT L2-005 集合相似度(模拟集合set)
查看>>
Unity EditorWindow 笔记
查看>>
java 连接 Access数据库的两种方法
查看>>
threading模块和queue模块实现程序并发功能和消息队列
查看>>