1.提高优先级
(1+2)*3 与数学运算中保持一致,先计算1+2再乘以3得出9
同时也可以是其他表达式,如:
复制代码 代码如下:(a+(function(i){return i}(2)))*c
2.函数的参数要放在括号里()
复制代码 代码如下:function fun(a,b,c)
{
//…
}
3.立即执行函数表达式
复制代码 代码如下:
(function fun(a,b,c)
{
//…
})(1,2,3)
这里的括号(1,2,3)中的参数对应的是前面函数的参数,当第一个括号的代码符合表达式规则时,前面的代码会被作为函数表达式来执行,所以最好在第一个函数表达式前面加上“;”分隔开,否则会报前一个表达式的值不是函数的错误。
如:alert(1)(function(){})(),此时alert(1)先执行,由于符合立即执行的函数表达式规则,所以alert(1)的返回值会被作为函数,同时将后一个括号中的值作为参数传入,但alert(1)返回的是undefined,所以会报错。解决办法就是在alert(1)后面加上“;”或者“,”,将其拆分为两个表达式。
立即执行还可以用
复制代码 代码如下:
(function fun(a,b,c)
{
//…
}(1,2,3))
!function fun(a,b,c)
{
//…
}(1,2,3)
void function fun(a,b,c)
{
//…
}(1,2,3)
等方式,只要函数符合函数表达式语法规则即可。
单独执行一个函数时也需要加括号,不能省略,如:fun(),fun(1,2,3)
4.执行单个或多个表达式,并返回最后一个表达式的值,多个表达式之间需要用逗号“,”分隔开
复制代码 代码如下:(1,2+3,4+5,6)//代码会被一次执行,最后将6作为返回值
5.条件表达式,与4类似,但用于条件判断中
复制代码 代码如下:if(a+b==c){} //if 和 { 之间的内容需放入括号中