jquery 的闭包问题

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){}
阅读 4.7k
1 个回答

这不是闭包的问题。
请把b.fun定义放到执行部分前面。

var a=function(){}
  console.log(a.log);//undefined
  a.log='loged';
  console.log(a.log);//logged
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进