1.提高优先级
(1+2)*3 与数学运算中保持一致,先计算1+2再乘以3得出9
同时也可以是其他表达式,如:
复制代码 代码如下:
(a+(function(i){return i}(2)))*c
2.函数的参数要放在括号里()
复制代码 代码如下:
function fun(a,b,c)
{
//…
}
复制代码 代码如下:
(function fun(a,b,c)
{
//…
})(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 和 { 之间的内容需放入括号中
新闻热点
疑难解答
图片精选