Javascript 对象中的应用、绑定和调用方法如何可用
我试图理解javascript中的原型继承,然后我偶然发现了apply方法,它是Javascript 对象中的应用、绑定和调用方法如何可用,javascript,function,object,Javascript,Function,Object,我试图理解javascript中的原型继承,然后我偶然发现了apply方法,它是函数自身的属性。prototype但当我试图检查对象的属性apply时,它实际上也存在于那里。现在我很困惑,因为我知道父most对象是对象而不是函数 要尝试我所说的,只需在chrome控制台中运行这些 Function.prototype.hasOwnProperty('apply') // o/p --> true Object.hasOwnProperty('apply'); // o/p --
函数自身的属性。prototype
但当我试图检查对象的属性apply时,它实际上也存在于那里。现在我很困惑,因为我知道父most对象是对象
而不是函数
要尝试我所说的,只需在chrome控制台中运行这些
Function.prototype.hasOwnProperty('apply') // o/p --> true
Object.hasOwnProperty('apply'); // o/p --> false
Object.prototype.hasOwnProperty('apply'); // o/p --> false
Object.apply // o/p --> ƒ apply() { [native code] }
这取决于你在谈论哪个对象
函数对象
具有函数。原型
在其原型链中,对象。应用
存在
但是,它在实际对象上并不存在。因此,apply
只能作为静态方法与Object
一起使用(因为apply
未附加到Object.prototype
):
const objectfunctionhasply=Object.apply | | false;
const literalObjectHasApply=({}).apply | | false;
console.log(objectFunctionHasApply);
log(literalObjectHasApply)代码>你在说什么类型的对象
?构造函数new Object
是一个函数,因此因为function.prototype.hasOwnProperty('apply')
,Object.apply
存在(但不是Object.prototype.apply
,因为{}.apply
不存在)。对象
是一个函数。。。尝试console.log(对象类型)
-这并不奇怪。。。您可以new XXX()
的任何内容都是一个函数<代码>新对象()。。。但结果是一个对象的实例