是的,我经常遇到这个问题.Area
是一个全局变量,因为它没有var
它.另外,不要使用for ... in构造.
但是你可能仍会遇到类似的问题.上帝知道我因为类似的bug而调试了多少脚本.执行以下操作可确保正确确定范围:
var Areas = ['ping','http', 'smtp', 'pop3']; for( var i = 0; i < Areas.length; i++ ){ (function(area) { $(area).click(function(){ alert(area); /* ShowArea(area); */ }); })(Areas[i]); }