JavaScript 的函数可以分为声明函数和匿名函数表达式。
- 声明函数,是
function
开头的具名函数。 - 函数表达式一般是匿名的,一般会出现在回调中。
- 立即执行函数表达式 (Immediately Invokied Function Expression -IIFE)
立刻执行函数表达式,一般是匿名函数实现的,也可以是具名函数实现。函数体内的内容会立刻执行。
var a = 2;
(function IIFE() {
var a = 3;
console.log(a);
})()
console.log(a)
// or
var a = 2;
(function IIFE() {
var a = 3;
console.log(a);
}())
上面两种写法都是没问题的。
如果传参可以在括号内传进去
var a = 2;
(function IIFE(global) {
var a = 2;
console.log(a);
console.log(global.a)
})(window)
console.log(a)