if declaring a function like this,and then invoking it immediately,
function foo(){console.log("it is foo");}();
it will throw a error,
Uncaught SyntaxError: Unexpected token )
but if you just a arguement in the end of the paren,like this
function foo(){console.log("it si foo");}(1);
ok.it won`tl occures any error,but in the same time,the funciton won`t be executed either.because it just equivlent to this:
function foo(){console.log("it si foo");}
(1);
a function declaration followed by a unrelated expression,so you can get it that the function not be executed.
so what does it matter?ok.if you just want to declare a function,and want to execute it right now,you can`t tolerate one second to wait.you shuold know how to implement that.ok,we define the IIFE(Immediately Invoked Function Expression);
http://benalman.com/news/2010/11/immediately-invoked-function-expression/