【发布时间】:2011-01-31 23:07:20
【问题描述】:
当编写这样的代码时,jsLint 抱怨隐含的全局变量:
var Test = (function(){
var fnc = function(x){
alert("pew: "+x);
};
return {
fnc: fnc
};
}());
Test.fnc("hat");
(具体来说,“隐含全局:警报 4”)
什么被认为是避免这种情况的正确方法?我的本能反应是这样的,但我不相信它是“正确的”:
var Test2 = (function(global){
var alert = global.alert;
var fnc = function(x){
alert("pew: "+x);
};
return {
fnc: fnc
};
}(this));
Test2.fnc("hat");
编辑: 共识似乎是问题不在于我正在访问全局变量,而更多的是我没有告诉 jslint 全局变量是什么。我将把这个打开一段时间,看看有没有其他人有意见,然后我会选择一个答案。
【问题讨论】:
标签: javascript jslint