Javascript 为什么对原型的这两个引用返回不同的值
哈?Javascript 为什么对原型的这两个引用返回不同的值,javascript,prototype,Javascript,Prototype,哈?对象。getPrototypeOf(fn)将返回函数(){},因为这是所有函数的原型 而.prototype属性表示在使用fn构造(使用new调用)时新对象的方法和属性 var fn=function(){}; console.log(fn.prototype);//fn{} console.log(Object.getPrototypeOf(fn));//函数(){} /*这就像*/ console.log(fn.constructor.prototype)//由于构造函数是一个函数。。。
对象。getPrototypeOf(fn)
将返回函数(){}
,因为这是所有函数的原型
而.prototype
属性表示在使用fn
构造(使用new
调用)时新对象的方法和属性
var fn=function(){};
console.log(fn.prototype);//fn{}
console.log(Object.getPrototypeOf(fn));//函数(){}
/*这就像*/
console.log(fn.constructor.prototype)//由于构造函数是一个函数。。。
var child=new fn()
console.log(Object.getPrototypeOf(child));//fn{}
看看这个答案:-不是一个完全相同的问题,但它确实回答了这个问题。函数的原型属性只是一个蓝图。它是将作为原型分配给对象的对象,通过new fn()
创建,但它不是函数的实际原型。
var fn = function(){};
console.log(fn.prototype == Object.getPrototypeOf(fn)); //false