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

JS (function(){}()) 请兄弟们解释一下这是怎么回事

2013-06-19 
JS (function(){}()) 请兄弟们解释一下这是咋回事我做了一个测试var s function(){alert(1111)}()运行

JS (function(){}()) 请兄弟们解释一下这是咋回事
我做了一个测试
var s = function(){
alert(1111);
}();运行结果是弹出一个框显示1111,
然后把它改为


var s = (function(){
alert(1111);
}());
运行结果还是弹出一个框显示1111,这2种写法到底有啥区别呢?


[解决办法]
跑一下就知道了

<script type="text/javascript">
var q = function(){
    return 'q';
}
alert(q)
 var s = function(){
return 's';
}();

alert(s)
var t = (function(){
return 't';
}());
alert(t)
</script>

[解决办法]
js难点重点之一闭包:(function(n){})(i)
[解决办法]
还有一个
var z = (function(){
   return 'z';
})();
[解决办法]
都一样,申明匿名函数后执行

var s = (function(){
alert(1111);
}());
你这个应该意思是
var s = (function(){
alert(1111);
})();
[解决办法]
记住

()
是运算符

(表达式)则表达式的结果将会返回

(function(){...})这样就返回了一个函数

但是 当 ()和函数连接在一起的时候 则表示 函数运算

(function(){...})()  一前一后2个括号 就是调用里面的函数让他执行

[解决办法]
都是一个立即执行的匿名函数,没有区别,第二种执行顺序更清晰一点。
[解决办法]
定义好了JS匿名函数后,立即执行

一般最好的写法是:
(function(){
alert(1111);
})();

热点排行