2015-09-28 66 views
0

我知道var some = [];創建一個新的數組,var someother = {}創建一個新的對象。那麼()是做什麼的?javascript中用於初始化變量的是什麼?

具體而言,在下面的代碼:

var someVar = (1,2,3); //someVar equals 3 

typeof (1,2,3) //returns "number" 

那麼,是什麼在()在上面的代碼呢?

回答

2

請參閱precedences of operators

(1,2,3) 

只是

3 

因爲comma operator返回最後一個值。

括號中

typeof (1,2,3) 

只是防止它被解釋爲

(typeof 1),2,3 

因爲typeof運算符比逗號操作符的優先級高。

1

那就是a grouping operator

它導致內容被評估爲表達本身的權利。有效它改變優先因爲否則someVar = 1將第一(而不是被評估的(1,2,3)結果和在someVar = ...表達式中使用的結果進行評價。

即表達1,2,3使用a comma operator其評估爲右手側,所以它是3