(1, 2, 3);
// return 3; 很好奇,為什麼會回傳3?這是什麼機制?圓括號起到了什麼作用?
(1, 2, 3, alert )("Amazing!");
// 這裡就更好玩了,居然可以直接呼叫alert ;經過測試,全域函數都可以透過這樣呼叫。
以下是關於 方括號[] 的疑問:
在JS中,[]幾乎就和數組畫上了等號,但也有神奇的時候。
[1,2,3][1];
// return 2; 當然這種方法也經常使用,常用於數組的索引和調用的對象的響應屬性名稱存放在某個變數時。
[1,2,3][1,2];
//return 3 ; 這種情況就有趣多了,和上面圓括號的情況很像,都會返回括號內的最後一個值
在(1,2,3)裡,括號和逗號都是運算符,逗號運算子傳回最後一個表達式的求值結果,具體規則可自己查。
("Amazing")的括號表示函數呼叫。
alert是一個函數對象,當它作為表達式的求值結果返回,當然可以被調用。
[1,2,3]這裡的方括號是聲明數組常數,緊接著[1]表示取數組元素。 [1,2,3][1]意為取[1,2,3]這個陣列裡的第一個元素,即2(下標從0開始)
[1,2,3 ][1,2]=[1,2,3][(1,2)]=[1,2,3][2]=3