有一道js面試題,題目是這樣的:下列程式碼的執行結果是什麼,為什麼?
答案是顯示10,這題主要檢視JavaScript的逗號運算子。
下面是MDN對逗號運算子的定義:
逗號運算子計算兩個運算元(從左到右)並傳回第二個運算元的值。
根據這個定義,可以擴充一下:
逗號運算子從左到右計算兩個或多個運算元並傳回最後一個運算元的值。
可以感覺一下下面的程式碼:
if (0,9) alert("ok");
if (9,0) alert("ok");
逗號運算子在實際程式碼中有什麼樣的作用呢?
1、交換變量,無第三個變數
//方法一
a = [b][b = a, 0];
//方法二
a = [b, b = a][0];
2、簡化程式碼
可以簡寫成: