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);
})();