- (function () { }() ); W3C 建议使用
- (function () { } ) ();
只有表达式才能被执行符号执行;
能被执行符号执行的表达式,这个函数的名字就会被自动忽略;
- 函数声明; function (){}
- 函数声明表达式; var test=function(){}
eg:
// 不是表达式,不能执行,报错
function test(){
var a='321';
console.log('abc');
}()
// 声明前加运算符 可变为表达式
+ — !function test(){
var a='321';
console.log('abc');
}()
// 声明 表达式 表达式可执行
var test=function (){
console.log('abc');
}() // abc
console.log(test); //undefined
注意:
function test(a,b,c){
console.log(a+b+c);
}(1,2,3) //不会报错,但是也不执行
// 过程相当于
function test(a,b,c){
console.log(a+b+c);
}
(1,2,3);
分为两个无关的部分,互不干系。