我想知道在jquery插件中调用函数的这两种方法有什么区别
function foo() {
//Do something
}
function init() {
foo.call(this);
// or
foo();
}
由于
答案 0 :(得分:4)
这不是一个jQuery的东西,它是一个JavaScript的东西。它确定了呼叫期间this
的内容。
使用foo()
,在调用foo
期间,this
将是全局对象(宽松模式)或undefined
(严格模式)。
使用foo.call(x)
,在致电foo
期间,this
将为x
。因此,foo.call(this)
可确保this
在foo
的通话中与您this
的{{1}}相同。
更多(在我的博客上):