只有表达式才能被执行,函数声明不能执行,必须调用
function(){...}//函数声明 (function(){...}())//表达式
只有表达式才能被执行符号执行,下面的声明是不能直接调用的;
function test(){ var a=123; }();//出错,函数声明不能被直接调用 test(); //能被函数执行的表达式,名字被自动忽略,test()找不到了 var test=function(){ console.log('a') }() //传参 function test(a,b,c,d){ console.log(a+b+c+d) }(1,2,3,4)
功能:只需要执行一次,初始化函数
var num = (function(a,b,c){ console.log(a) var d=a+b+c*2-2 return d; }(1,2,c))//w3c建议 第二种引用方法 (function(){})() 其它数学运算符号转换 //+ - ! && ||都可以转成表达式 +function test() { // body... }();