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 與{ 之間的內容需放入括號中