如何设置javascript闭包的上下文?

时间:2013-11-25 20:32:27

标签: javascript closures

所以我有ValidationHelper.js,它包含一个闭包:

console.log(this) //context of the file is FormManager object
(function($) {
    console.log(this) //context of the closure is window
    ...
}(jQuery)

如何将闭包的上下文设置为FormManager对象?

2 个答案:

答案 0 :(得分:1)

您可以使用call设置上下文:

(function($) {
    console.log(this) //context of the closure is the outside this
    ...
}).call(this, jQuery)

答案 1 :(得分:0)

在第一行,这不是封闭!

检查一下:

(function($) {
    console.log(this);
}).call(this, jQuery)