var a = {};
var b = Object.create(a);
var c = Object.craete(b);
// 1.1 如果一个对象是由 Object.create生成 那么它就继承自这个对象
c.__proto__ === b;
b.__proto__ === a;
// 1.2 a是直接从Object而来 所以a是Object的实例 所以 a 继承自Object的原型
a.__proto__ === Object.prototype;
function Person () {}
var person = new Person();
// 1.3 如果一个对象是由构造函数生成 那么它就继承这个构造函数的原型
person.__proto__ === Person.prototype;
// 2.1 任一函数都是Function的实例对象 根据 1.3 则有任一函数都继承自Function的原型
Person.__proto__ === Function.prototype
// 2.2 Object也是一个函数 那么它也遵循 2.1
Object.__proto__ === Function.prototype
// 2.3 即使是Function自己 也是自己的实例 同样遵循2.1
Function.__proto__ === Function.prototype
// 3. 函数具有 prototype 属性来表示这个函数的原型 prototype是一个实例对象 除了__proto__外还有一个construcor
// 3.2 constructor 就是其自身
Person.prototype.constructor === Person
Object.prototype.constructor === Object
Function.prototype.constructor === Function
// 3.3 几乎任一函数的原型也是一个对象 这个对象是Object的实例对象
Person.prototype.__proto__ === Object.prototype
Function.prototype.__proto__ === Object.prototype
// 3.4 Object的原型不是Object的实例对象 而是 null
Object.prototype.__proto__ === null
JavaScript 继承与原型链学习笔记
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Author:Mr.柳上原 付出不亚于任何的努力 愿我们所有的努力,都不会被生活辜负 不忘初心,方得始终 这几天一...
- __proto__ 每个JS对象一定对应一个原型对象,并从原型对象继承属性和方法对象proto属性的值就是它所对应...
- 原型,原型链与原型继承 用自己的方式理解原型,原型链和原型继承 javascript——原型与原型链 JavaSc...
- 原型的基本概念 要想真正理解js的原型和原型链的概念,必须且只要记住以下几点即可: ▶ 一切都是对象(看似如此)。...