我們常說(shuō)JavaScript原生支持json,因?yàn)槲覀兛梢哉J(rèn)為json就是對(duì)JavaScript的Object對(duì)象的靈活應(yīng)用。
通常我們使用json的方式,主要用作前后臺(tái)數(shù)據(jù)交換的格式:
而在代碼邏輯中更多的是用關(guān)聯(lián)數(shù)組的方式。但即使是這樣我們也很少使用對(duì)象類(lèi)型作為鍵值對(duì)的鍵名。
var a= {}, b= [];
a[b] = new Date(); //通過(guò)a[b]可以取得時(shí)間值。
鍵名的類(lèi)型可以是對(duì)象,多么美好的一件事?。?/P>
不過(guò)有一個(gè)問(wèn)題。如果你想這么用,需要有一個(gè)條件:數(shù)據(jù)必須是動(dòng)態(tài)添加的。(目前在同學(xué)這,沒(méi)有條件測(cè)試其他的瀏覽器,目前測(cè)試了IE8以及搜狗瀏覽器的IE內(nèi)核和weikit內(nèi)核)
測(cè)試代碼如下:
代碼如下:
var d = document.getElementById("hello"), obj = [1,2,3], a = {obj:"test"};
a[d] = "DOMElement";
alert(a[obj]); //undefined
alert(a[d]); //DOMElement
a[obj] = "Array Object";
alert(a[obj]); //Array Object
新聞熱點(diǎn)
疑難解答
圖片精選