__proto__
和 prototype
__proto__
是对象才有的属性
prototype
是函数才有的属性
//①构造器Function的构造器是它自身
Function.constructor=== Function; //true
//②构造器Object的构造器是Function(由此可知所有构造器的constructor都指向Function)
Object.constructor === Function; //true
//③构造器Function的__proto__是一个特殊的匿名函数function() {[native code]}
console.log(Function.__proto__); //function() {[native code]}
//④这个特殊的匿名函数的__proto__指向Object的prototype原型。
Function.__proto__.__proto__ === Object.prototype //true
//⑤Object的__proto__指向Function的prototype,也就是上面③中所述的特殊匿名函数
Object.__proto__ === Function.prototype; //true
Function.prototype === Function.__proto__; //true
网友评论