我知道var some = [];
創建一個新的數組,var someother = {}
創建一個新的對象。那麼()
是做什麼的?javascript中用於初始化變量的是什麼?
具體而言,在下面的代碼:
var someVar = (1,2,3); //someVar equals 3
和
typeof (1,2,3) //returns "number"
那麼,是什麼在()
在上面的代碼呢?
我知道var some = [];
創建一個新的數組,var someother = {}
創建一個新的對象。那麼()
是做什麼的?javascript中用於初始化變量的是什麼?
具體而言,在下面的代碼:
var someVar = (1,2,3); //someVar equals 3
和
typeof (1,2,3) //returns "number"
那麼,是什麼在()
在上面的代碼呢?
(1,2,3)
只是
3
因爲comma operator返回最後一個值。
括號中
typeof (1,2,3)
只是防止它被解釋爲
(typeof 1),2,3
因爲typeof運算符比逗號操作符的優先級高。
它導致內容被評估爲表達本身的權利。有效它改變優先因爲否則someVar = 1
將第一(而不是被評估的(1,2,3)
結果和在someVar = ...
表達式中使用的結果進行評價。
即表達1,2,3
使用a comma operator其評估爲右手側,所以它是3
。