(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