-
1. JavaScript函数是引用类型(对象类型), 所以Function函数也是对象
"Function构造函数"也是一个对象, 所以也有
__proto__属性-
"Function构造函数"
__proto__属性指向"Function原型对象"console.log(Function.__proto__); // ƒ () { [native code] } console.log(Function.__proto__ === Function.prototype); // true
-
2. JavaScript中还有一个系统提供的构造函数叫做Object, 只要是函数都是"Function构造函数"的实例对象
console.log(Object); // ƒ Object() { [native code] }-
只要是对象就有
__proto__属性, 所以"Object构造函数"也有__proto__属性, "Object构造函数"的__proto__属性指向"Function原型对象"console.log(Object.__proto__); // ƒ () { [native code] } console.log(Object.__proto__ === Function.prototype); // true
-
-
3. JavaScript中只要是"构造函数"就有prototype属性, "Object构造函数"的prototype属性指向"Object原型对象"
console.log(Object.prototype);
-
4. JavaScript中只要是"原型对象"就有constructor属性, "Object原型对象"中的constructor属性指向它对应的Object构造函数
console.log(Object.prototype.constructor); // ƒ Object() { [native code] } console.log(Object.prototype.constructor === Object); // true
-
5. 只要是对象就有
__proto__属性, 所以"Object原型对象"也有__proto__属性, "Object原型对象"的__proto__属性指向NULLconsole.log(Object.prototype.__proto__); // null




