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 和 { 之間的內容需放入括號中
新聞熱點
疑難解答
圖片精選