实例对象里面有个_proto_,构造函数里面有个prototype,看了半天就是没看明白,谁能一语惊破天么!!!
1.所有new出来的叫做实例(等号左边);
2.被new的fn叫做构造函数(等号右边->new的右边);
3.__proto__和prototype都是属性名,一个名字而已,就跟json={a:1}中的a一样一样!
4.3中那两个属性名的值是一个json,但json是一个复合数据类型,所以又叫做指针(本质还是属性名,名字而已,just so so);
5.prototype的值又叫做“原型对象”,__proto__的值又叫做“原型链对象”;
6.prototype是挂在构造函数下面的,是构造函数的属性;
7.构造函数的prototype跟实例没什么直接联系,就像你妈是你妈你是你,你俩通过血缘关系才有联系;
8.__proto__就是实例跟构造函数的血缘关系;
9.__proto__的值是构造函数prototype的值;
10.竟然没问constructor;
11.估计10没问是因为早就会了,所以我刚刚1-9纯属测试键盘,当然有不对的地方还请指正,我回去好修理键盘;
12.以上。
楼主先搞懂 __proto__
和 prototype
的区别。
可以看下官方文档 https://developer.mozilla.org...
关于继承,我前段时间刚好回顾了下 http://xwartz.github.io/pupa/...
我也跟你发个地址吧,这个特别浅显易懂。http://www.cnblogs.com/wangfu...。其实呢 每个对象都有个__proto__属性,这个东西指向的是生成改对象prototype。所以js对象(函数)里面,都有些自带的属性,比如__proto__,prototype。具体你自己好好看哈,看完这个你就懂了其继承机制了。
7 回答3.2k 阅读✓ 已解决
12 回答5.2k 阅读✓ 已解决
16 回答5.7k 阅读
9 回答3.4k 阅读
7 回答4k 阅读✓ 已解决
10 回答3.1k 阅读
6 回答2.2k 阅读✓ 已解决
文档说的行么?
一个实例对象的
__proto__
就是她构造函数上的prototype
,来举个例子: