立即执行函数
作用
针对初始化功能的函数, 不需要调用即可执行, 可以用来初始化变量的值
样式
立即执行函数一共有两种形式
第一种形式:
(function (para){
//TODO..
}(arg))
- 第一个括号, 里面写的是匿名函数, 不必起名,
- 第二个括号, 里面写的是参数表
- 第三个括号, 即函数结束后的大括号后面跟着的小括号, 是函数执行符号, 里面可写要传递的参数
第二种形式:
跟第一种形式相近, 只不过执行符号写在了外面
(function (para){
//TODO...
})(arg)
示例
备注:
-
只有表达式才可以被执行符号执行, 执行符号就是 (),
被执行符号执行的表达式会忽略表达式的名字 -
立即执行函数只可执行一次, 执行完后会立即销毁,
因为一旦表达式被执行之后, 就失去了对函数的索引
原理:
因为只有表达式才可以被执行符号执行,
所以在函数前加任意的数学运算符或其他运算符,
都会尝试将函数转化为表达式, 并且执行,
并且转化表达式的优先级高于执行符,
因此执行符写在括号里面还是外面都可以使函数被立即执行