.call()/ .apply()与NO参数VS简单地用()括号调用一个函数
我已经在代码中看到了它的不同之处,但是在常规()函数执行过程中执行(空白params) .call / .apply是否有任何好处或原因。
这当然是一个过分简化的例子
var func = function () { /* do whatever */ };
func.call();
func.apply();
VERSUS只是简单的括号。
func();
在任何地方都没有看到任何信息,我知道为什么在params通过时使用call / apply。
当你用func();
调用一个方法时func();
,方法内的this
变量指向window
对象。
当你使用call(...)/ apply(...)时,传递给方法调用的第一个参数变成this
方法中的内容。 如果你没有传递任何参数/传递null或未定义,那么this
将成为非严格模式下的全局对象。
上一篇: .call() / .apply() with NO parameters VS simply calling a function with () parenthesis