立即执行函数
顾名思义,定义完后立即执行再销毁
下面是Google控制台演示
立即执行函数要求
首先立即执行函数长这样
function(){}()
只有表达式才能被执行符号执行
(function(){}()) //W3C标准
(function(){})()
+ function(){}()
- function(){}()
也就是说只写一个它本尊,是执行不了且报错的,而且大家应该知道表达式会使函数失去定义,所以立即执行函数通常没有函数名,重点来了
function demo(a,b,c,d){
console.log(a + b + c + d)
}(1,2,3,4) //不报错
这种是不会报错也不会打印的,js会将它们分割开,变成函数和逗号运算符
function demo(a,b,c,d){
console.log(a + b + c + d)
}
(1,2,3,4)
但是如果执行符没有参数,就会报错了
function demo(a,b,c,d){
console.log(a + b + c + d)
}() //报错
立即执行函数题目
最后用一道题来结束我人生中的第一篇博客
var x = 1;
if(function f{}){
x += typeof f;
}
console.log(x);
1.If中的那个括号同样会使函数失去了定义功能
2.任何一个变量未经声明就使用会报错,唯一不会报错的就是放在typeof里面
3.返回的undefined是字符串
输出结果为1undefined