为什么空括号会报错,而括号里有东西就不会如下:
() // 会报错
(1) //不会报错
function(){}() //这样会报错;
!function(){}() //就不会报错呢
有人说function(){} 会被提前,变成
function(){}
();//这里报错
那我写成 :function(){}(1) 是不是应该变成
function(){}
(1) ;//这里应该就不会报错啊,事实是还是会报错,怎么解释?
会报错吗?
function(){}(),这样写立即执行函数是不对的,应该是 (function(){})() 。最后一个括号传的是参数.
为什么空括号会报错,而括号里有东西就不会如下:
() // 会报错
(1) //不会报错
function(){}() //这样会报错; /*function(){}() 错误写法,有没加1 都报错 */
!function(){}() //就不会报错呢 /* !function(){}() 这是立即执行函数的正确写法 */
总之 (function(){})() 和 !function(){}(),是立即执行函数的正确写法,括号里有没东西都不会报错。