1.函数的prototype属性:
1)每个函数都有一个prototype属性,它默认指向一个object空对象(称作:原型对象);
2)原型有一个属性constructor,它指向函数对象;
3) 实例有__proto__属性,可以指向构建函数的prototype属性内容;
2.基本理解:
console.log(Object instanceof Function)//true
//Object 是实例,Function是Object的构造函数,则有:
console.log(Function.prototype===Object.__proto__)//true
console.log(Function instanceof Function)//true
console.log(Object instanceof Object)//true
console.log(Function instanceof Object)//true
//Function 是实例,Object是Function的构造函数,则有:
console.log(Function.prototype===Function.__proto__)//true
console.log(Object.prototype===Function.__proto__.__proto__)//true
function F(){}
console.log(F.__proto__===Function.prototype)//true
console.log(Object instanceof F)//false
//Object 是实例,F是构造函数,有:
console.log(Object.__proto__===Function.prototype)//true
console.log(Function.prototype.__proto__===Object.prototype)//true
console.log(Function.prototype.__proto__.__proto__===Object.prototype.__proto__)//true
console.log(Function.prototype.__proto__.__proto__)//null 原型链的尽头


本文深入探讨了JavaScript中函数的prototype属性及其作用,通过具体示例解释了原型对象、构造函数之间的联系以及原型链的工作原理。
1万+

被折叠的 条评论
为什么被折叠?



