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()的方法不存在。不过现在找到了解决办法。
util这个变量在加载后,就会马上执行init()方法,第一次在执行init()的时候会取得arguments.callee,当前调用方法的一个引用再赋值给fn变值,闭包返回匿名方法执行fn()赋值给init,这样,加载的时候,可以自动执行init(),也可以手动调用util.init()。
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()。
相关文章推荐
- 有以下几种方法可以使用非阻塞方式下载 JavaScript,提快页面加载
- JavaScript实现当网页加载完成后执行指定函数的方法
- 在flex中执行一个javascript方法的简单方式
- js里声明函数有几种方式? var abc = function(x){} 和 function abc(x){} 这两种声明方法有什么不同?
- js 闭包 匿名函数 JavaScript的IIFE(即时执行方法)immediately-invoked function expression
- 关于JavaScript执行onload()方法和jquery$(function(){})区别
- javascript之自定义js封装库兼容主流浏览器实现DOM加载之后,页面完全加载之前执行js
- JavaScript中执行function方法,并返回执行结果
- loadJs 动态 按需 加载javascript 执行js方法
- JavaScript replace() 方法 之 var.replace is not a function
- BX9029: IE 和 Firefox 可以通过特定方法使 innerHTML 方法载入的 SCRIPT 标签中的 JavaScript 代码在页面加载后也可以执行
- JavaScript的执行原理,很多人都理解错了:在js被加载后,其实就将js代码执行了一遍,在内存中创建了所有js文件中的变量。而不是激发了某个js方法后,再去相应的js文件中去执行,是去内存中执行
- JavaScript提高加载和执行效率的方法
- 在flex中执行一个javascript方法的简单方式
- JavaScript 的性能优化:加载和执行
- 【javascript基础篇】——面向对象动态加载属性和方法
- 用C++面向对象的方式动态加载so的方法
- 利用CSS、JavaScript及Ajax实现图片预加载的三大方法
- 利用CSS、JavaScript及Ajax实现图片预加载的三大方法
- ( function(){…} )()和( function (){…} () )两种javascript立即执行函数