.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将成为非严格模式下的全局对象。

链接地址: http://www.djcxy.com/p/2971.html

上一篇: .call() / .apply() with NO parameters VS simply calling a function with () parenthesis

下一篇: Ways to iterate over a list in Java