立即执行函数
定义:此类函数没有声明,在一次执行过后即释放。适合做初始化工作。
立即执行函数执行完函数就被销毁
(function() {
var a = 123;
var b = 234;
console.log(a + b);
}())//357
立即执行函数可以传入形参
(function(a, b, c) {
console.log(a + b + c);
}(1, 2, 3)) //6
立即执行函数可以返回值
var num = (function(a, b, c) {
var d = a + b + c * 2 - 2;
return d;
}(1, 2, 3)); //7
(function() {}());//W3C建议第一种
(function() {})();
只有表达式才能被执行符号执行
函数表达式被执行一次之后就立即被销毁了
var test = function() {
console.log('a');
}();
- function test() {
console.log('a');
}(); //a
! function test() {
console.log('a');
}(); //a
|| function test() {
console.log('a');
}(); //a
&& function test() {
console.log('a');
}(); //a
表达式后面的括号就是执行符
(function test(){
console.log('a');
}())
先执行最外面的括号,因为只有最外面的括号为运算符括号,里面的括号都有特殊的意义
阿里巴巴的一到面试题,这道题不会执行也不会报错
function test(a, b, c, d) {
console.log(a + b + c + d);
}(1, 2, 3, 4);