try {
var arr = arr || [];
var b = b || function(){} ;
$(function(){
b.fun("foo") ;
b.fun("bar") ;
});
b.fun = function(data) {
$(element).click(function(){
arr.push(data) ; // 问题在这一行 data 是有值的
// 但是没效果
});
}
} catch(e){}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
这不是闭包的问题。
请把b.fun定义放到执行部分前面。
var a=function(){}
console.log(a.log);//undefined
a.log='loged';
console.log(a.log);//logged