-
JavaScript中函数是引用类型(对象类型), 既然是对象, 所以也是通过构造函数构造出来的, "所有函数"都是通过Function构造函数创建来的对象
console.log(Function); // ƒ Function() { [native code] }// 这个构造函数也是通过Function构造函数创建出来的实例对象 function Person(myName, myAge) { this.name = myName; this.age = myAge; } let obj1 = new Person("lnj", 34);
-
JavaScript中只要是"构造函数"就有prototype属性, "Function构造函数"的prototype属性指向"Function原型对象"
console.log(Function.prototype); // ƒ () { [native code] }
-
JavaScript中只要是"原型对象"就有constructor属性, "Function原型对象"中的constructor指向它对应的构造函数
console.log(Function.prototype.constructor); // ƒ Function() { [native code] } console.log(Function === Function.prototype.constructor); // true
-
Person构造函数是Function构造函数的实例对象, 所以也有
__proto__属性, Person构造函数的__proto__属性指向"Function原型对象"function Person(myName, myAge) { // Person构造函数 this.name = myName; this.age = myAge; } let obj1 = new Person("lnj", 34); // Person实例对象 console.log(Person.__proto__); // ƒ () { [native code] } console.log(Person.__proto__ === Function.prototype); // true
JavaScript中万物皆对象, 只要是对象就有
__proto__属性



