Javascript面向对象编程(prototype)

《Javascript面向对象编程(一):封装》

 《Javascript面向对象编程(二):构造函数的继承》

《Javascript面向对象编程(三):非构造函数的继承》

Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象。
但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有class(类)。

1,Object空对象

 

2,函数名称赋值:

 

 3,prototype属性

function定义的对象有一个prototype属性,
prototype属性又指向了一个prototype对象。
在prototype对象中有一个constructor属性,
这个constructor属性同样指向一个constructor对象,
而这个constructor对象恰恰就是这个function函数本身。

ps:即xxx对象.prototype对象中包含了自身的构造函数。

4,prototype属性可以用来对象间共享数据,还可以用来继承。

4.1,添加方法

 

 4.2,继承

 

 

 

 

 

 

 

 总结:prototype(深入prototype(上:内存分析)) 

1,默认函数有个隐藏属性prototype,prototype对应一个对象
2new 创建对象,创建的对象有个隐藏的proto属性也指向prototype对象。
3,默认prototype对象里面有个构造方法,即创函数对象(并不是prototype对象)的方法。
4,可以在prototype对象里面增加属性和方法。
5,当执行某个对象的属性/方法时候,首先在该对象中查找,找不到再在其prototype对象中查找。

 

posted @ 2019-12-06 17:31  假程序猿  阅读(280)  评论(0)    收藏  举报