JS闭包在IE7及以下版本的问题

vvvsrx 2013-09-26 03:27:49
现在有2个js文件: a.js,b.js
内容如下:
a.js:

var T = {};
T.A = {};
(function(){
  var a_f1 = function(){
    alert("a_f1");
  }
  T.A.F1 = a_f1;
})()


b.js:

T.B = {};
(function(T){
  var b_f1 = function(){
    alert("b_f1");
  }
  T.B.F1 = b_f1;
})(T)


在html页面中,先引用a.js后引用b.js,我发现a.js中的闭包是好的,而b.js的闭包是根本没有走过的...完全无效....(请无视代码是否有语法错误,那是我手写的...我只是要表达一个意思)
求js高手解答!
...全文
75 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
vvvsrx 2013-09-26
  • 打赏
  • 举报
回复
引用 1 楼 zzgzzg00 的回复:
var T = {}; T.A = {}; (function(){   var a_f1 = function(){     alert("a_f1");   }   T.A.F1 = a_f1; })() T.B = {}; (function(T){   var b_f1 = function(){     alert("b_f1");   }   T.B.F1 = b_f1; })(T) T.A.F1(); T.B.F1(); 貌似是预想的结果啊
是的,在一个文件中是没有问题,而放在2个不同的js文件中就出毛病了!
似梦飞花 2013-09-26
  • 打赏
  • 举报
回复
var T = {}; T.A = {}; (function(){   var a_f1 = function(){     alert("a_f1");   }   T.A.F1 = a_f1; })() T.B = {}; (function(T){   var b_f1 = function(){     alert("b_f1");   }   T.B.F1 = b_f1; })(T) T.A.F1(); T.B.F1(); 貌似是预想的结果啊

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧