标签:function
最近做项目遇到了这个问题,顺便记录下来!
网上找了下资料理解理解,给出我的理解如下:
问题1:
(function() {})():这function() {}表示的是一个匿名函数,而()则包裹着function() {},()表示的是拥有最高级的优先执行权,即会优先执行function() {}这个匿名函数。最后的(),则表示的是执行完function()
{}后,立即调用这个function() {}匿名函数。
比如:
如果function() {} 比作 function xx() {},()则表示xx(),即调用了定义后的xx函数。
案例:
(function(){
alert(0)
})();
结果:弹框显示0;
(function(){
alert(0)
});
结果:不弹框显示0;
问题2:
XX=XX||{};//表示声明一个叫XX的命令空间(定义一个全局变量--在javascript中,没有使用var声明的变量都被当成全局变量来处理)。
XX.kk=(function(){
XX.yy=function(){//声明一个叫XX.yy的命名空间(通过全局变量的增加属性的方式把闭包里的对象传到全局变量中,实现代码封装的效果
return "xxx";
};
var
data1="";
(function(){
data1="xxx";
})();
return {data1:data1};
})();
-----------调用
alert(XX.yy());
或
alert(XX.kk.data1);
(function() {})();、XX=XX||{};的定义及作用!
标签:function
原文地址:http://blog.csdn.net/u013474104/article/details/44196321