进一步分析Javascript函数前面的加号和感叹号
这里添加的数字也可以替换!
(函数(){ console.log(foo!);}());
或
(函数(){ console.log(foo!);}());
如果没有这个添加,解析器将认为函数是函数声明的开始,而后者()将导致语法错误。在函数前面加上+符号,它变成一个函数表达式,然后在函数表达式中添加一个函数,然后它变成一个立即执行的函数。
下面,看看js函数前面的感叹号的效果:
一、js函数声明形式
功能(FNA){ alert('msg ');} / /陈述定义功能
二、js函数表达式形式
VAR函数=功能(agr1,arg2){ / /创建一个匿名函数
警报(arg1 + + 2);
}
三,js匿名函数,声明一个用于立即执行的通用格式
(函数(代码));
解释
1,由第一个圆括号的函数(函数({)})包围的脚本返回未命名的,紧接着是一对空的括号,不直接命名函数返回,括号的参数为匿名函数。
2。使用括号封装函数体,解析器将以函数表达式的方式调用定义函数,也就是说,任何可以将函数转换为函数表达式的方法都可以使解析器正确地调用定义函数。!是其中之一,和| | +有这样的功能。
三.这个函数的功能主要是匿名和自动执行。