欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js以對(duì)象為索引的關(guān)聯(lián)數(shù)組

 更新時(shí)間:2010年07月04日 19:46:14   作者:  
在代碼邏輯中更多的是用關(guān)聯(lián)數(shù)組的方式。但即使是這樣我們也很少使用對(duì)象類型作為鍵值對(duì)的鍵名。
關(guān)于JSON對(duì)象,你可以參看wikipedia(http://zh.wikipedia.org/zh-cn/JSON),還有官方網(wǎng)站(http://www.json.org/json-zh.html)。

  我們常說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ì)象類型作為鍵值對(duì)的鍵名。

  var a= {}, b= [];

  a[b] = new Date(); //通過a[b]可以取得時(shí)間值。

  鍵名的類型可以是對(duì)象,多么美好的一件事啊!

 

  不過有一個(gè)問題。如果你想這么用,需要有一個(gè)條件:數(shù)據(jù)必須是動(dòng)態(tài)添加的。(目前在同學(xué)這,沒有條件測(cè)試其他的瀏覽器,目前測(cè)試了IE8以及搜狗瀏覽器的IE內(nèi)核和weikit內(nèi)核)

  測(cè)試代碼如下:

復(fù)制代碼 代碼如下:

var d = document.getElementById("hello"), obj = [1,2,3], a = {obj:"test"};
a[d] = "DOMElement";
alert(a[obj]); //undefined
alert(a[d]);  //DOMElement
alert(a[document.getElementById("hello")]); //DOMElement
a[obj] = "Array Object";
alert(a[obj]);  //Array Object


其實(shí)鍵名都是字符串:
復(fù)制代碼 代碼如下:

var d = document.getElementById("hello"), obj = [1,2,3], a = {obj:"test"};
alert(a["obj"]); //test

var str = new String("1,2,3");
a[obj] = "Array Object";
alert(a[obj]); //Array Object
alert(a[str]); //Array Object

var Class1 = function(_val){
var val = _val;
this.toString = function(){
return val;
}
}

var obj2 = new Class1("1,2,3");
alert(a[obj2]);//Array Object

相關(guān)文章

最新評(píng)論