我不明白最后两行之间的区别,特别是 myFunc.call 和 myFunc 之间的区别。有人可以向我解释一下吗?我真的很感激。
var myObject = {
length: 400,
};
function myFunc () {
return console.log(this.length);
}
myFunc.call(myObject); // equals 400
myFunc(myObject); // equals zero
最佳答案
.call()
允许您调用函数,同时指定 this
在函数内部引用的内容。不使用 .call
调用它会使用 this
的当前值。
在您的示例中,myFunc.call(myObject)
运行 myFunc
并将 myObject
作为 this
,这允许this.length
实际引用某物。
关于JavaScript ".call"不明白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23860895/