您的位置:首页 > Web前端 > JavaScript

Javascript var o={x:function(){},y:function(){}}封装方式的加载后即执行的方法。

2011-11-23 14:43 741 查看
  最近再看一些javasciprt的封装,var o={x:function(){},y:function(){}}的这种封装方式很常用,有点像json,这种封装只是定义了方法的集合,如果想做一些模块化的东西时,加载后就马上执行初始化方法,就有点不方便,开始试了在v后加括号var o={x:function(){}()}的方式,确实可以加载后马上执行,可是如果手动调用o.x(),就会提示o.x()的方法不存在。不过现在找到了解决办法。

var util = {
init: function () {
alert("init");
var fn = arguments.callee;
return function () { fn(); };
} (),
hi: function () {
alert("hi");
}
};
//util.init();


  util这个变量在加载后,就会马上执行init()方法,第一次在执行init()的时候会取得arguments.callee,当前调用方法的一个引用再赋值给fn变值,闭包返回匿名方法执行fn()赋值给init,这样,加载的时候,可以自动执行init(),也可以手动调用util.init()。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐