首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

第二段代码有哪些优势?解决方案

2012-03-21 
第二段代码有哪些优势?JScript codefunction oDemo(){function pr(){for(var i0i10i++){}return i//

第二段代码有哪些优势?

JScript code
            function oDemo()            {                function pr()                {                    for(var i=0;i<10;i++){}                    return i;    //返回的i是10                }           return i;    //这里的i是未定义的            }                   alert(oDemo());    //报错i未定义


JScript code
            function oDemo()            {                (function()                {                    for(var i=0;i<10;i++){}                    return i;    //返回的i是10                })()                                return i;    //这里的i是未定义的            }                       alert(oDemo());    //报错i未定义


上面两段代码都可以达到私有化变量的效果,
那么,第二段代码的优势在哪?
求指点。。。。

[解决办法]
没什么实质的差别,对oDemo这个函数来说结果都一样,但是要知道下面这个是 匿名函数的使用


(function() {
......
})()//匿名函数,匿名函数就是没有实际名字的函数.

(function(){ 
alert(333);
})(); //立即执行这个 匿名函数中的代码

运行下这个就清楚了
alert(typeof function(){});// "function" 

[解决办法]
JS匿名函数的理解 参考:http://blog.csdn.net/zhaozheng7758/article/details/6168203
[解决办法]
function oDemo()
{
function pr()
{
for(var i=0;i<10;i++){}
return i; //返回的i是10
}
 pr() //加了这句 就和你第二个一样的效果 只不过第二个是用的匿名函数而已
return i; //这里的i是未定义的
}

alert(oDemo()); //报错i未定义

热点排行