// 立即执行函数
function a(){
console.log('定义在全局中,执行完后不会销毁,会一直占内存');
}
// 如果是只执行一次的函数,那么久非常浪费内存。
// 针对初始化功能的函数,执行完后立即销毁(释放)。如下:
(function aaa(){
console.log(1);
}())
// 可以传参
(function
(a, b, c){
console.log(a + b + c*2);
}(1,2,3))
// 把数据返回出来
var num = (function(a,b,c){
var d = a+b+c*2-2;
return d;
}(1,2,3));
console.log(num);
// 常见的立即执行函数两种
(function(){})();
(function(){}());//w3c建议这种 ()在内的
// 只有表达式才能被执行符号()执行
+function test(){
console.log(1);
}(); //+ - !正负号可以使前面的函数成为表达式,加上后面()可立即执行。这也是立即执行函数的一种
// 声明函数
function a(){
console.log(1);
}(); //无法执行,这个a是一个函数体,()无法执行
var aaa = function(){
console.log(1);
}();//这种是函数表达式,后面有()可以立即执行。成为一个立即执行函数
function test(a,b,c,d){
console.log(a+b+c+d);
}(1,2,3,4);
//不会报错 系统尽量不报错 会将
//function test(a,b,c,d){
// console.log(a+b+c+d);
// }
// 与(1,2,3,4)分开来解读。不会执行 也不会报错