(1, 2, 3);
// return 3; 很好奇,為什么會(huì)返回3?這是什么機(jī)制?圓括號(hào)起到了什么作用?
(1, 2, 3, alert )("Amazing!");
// 這里就更好玩了,居然可以直接調(diào)用alert ;經(jīng)過(guò)測(cè)試,全局函數(shù)都可以通過(guò)這樣調(diào)用。
下面是關(guān)于 方括號(hào)[] 的疑問(wèn):
在JS中,[]幾乎就和數(shù)組畫上了等號(hào),但也有神奇的時(shí)候。
[1,2,3][1];
// return 2; 當(dāng)然這種方法也經(jīng)常使用,常用于數(shù)組的索引 和 調(diào)用的對(duì)象的響應(yīng)屬性名存放在某個(gè)變量時(shí)。
[1,2,3][1,2];
//return 3 ; 這種情況就有趣多了,和上面圓括號(hào)的情況很像,都會(huì)返回括號(hào)內(nèi)的最后一個(gè)值
在(1,2,3)里,括號(hào)和逗號(hào)都是運(yùn)算符,逗號(hào)運(yùn)算符返回最后一個(gè)表達(dá)式的求值結(jié)果,具體規(guī)則可自己查。
("Amazing")的括號(hào)表示函數(shù)調(diào)用。
alert是一個(gè)函數(shù)對(duì)象,當(dāng)它作為表達(dá)式的求值結(jié)果返回,當(dāng)然可以被調(diào)用。
[1,2,3]這里的方括號(hào)是聲明數(shù)組常量,緊跟[1]表示取數(shù)組元素。[1,2,3][1]意為取[1,2,3]這個(gè)數(shù)組里的第一個(gè)元素,即2(下標(biāo)從0開始)
[1,2,3][1,2]=[1,2,3][(1,2)]=[1,2,3][2]=3