Jquery调用函数方法 - function_name()vs funcion_name.call(this)

时间:2015-07-13 12:18:44

标签: jquery jquery-plugins

我想知道在jquery插件中调用函数的这两种方法有什么区别

function foo() {
    //Do something
}

function init() {

    foo.call(this);

    // or

    foo();
}

由于

1 个答案:

答案 0 :(得分:4)

这不是一个jQuery的东西,它是一个JavaScript的东西。它确定了呼叫期间this的内容。

使用foo(),在调用foo期间,this将是全局对象(宽松模式)或undefined(严格模式)。

使用foo.call(x),在致电foo期间,this将为x。因此,foo.call(this)可确保thisfoo的通话中与您this的{​​{1}}相同。

更多(在我的博客上)