我已经看到它在外面的代码中以不同的方式完成,但是在常规 ()< 上执行(空白参数).call/.apply 是否有任何好处或理由/strong> 函数执行。
这当然是一个过度简化的例子
var func = function () { /* do whatever */ };
func.call();
func.apply();
VERSUS 只是简单的括号。
func();
在任何地方都没有看到这方面的任何信息,我知道为什么在传递参数时使用 call/apply。
最佳答案
当您使用 func();
调用方法时,方法中的 this
变量指向 window
对象。
何时何地使用 call(...)/apply(...)传递给方法调用的第一个参数在方法内部变为 this
。如果您没有传递任何参数/传递 null 或 undefined 那么 this
将 become global object在非严格模式下。
关于javascript - .call()/.apply() 没有参数 VS 简单地调用带有 () 括号的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15903782/