色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

js以對象為索引的關聯數組

關于JSON對象,你可以參看wikipedia(http://zh.wikipedia.org/zh-cn/JSON),還有官方網站(http://www.json.org/json-zh.html)。

  我們常說JavaScript原生支持json,因為我們可以認為json就是對JavaScript的Object對象的靈活應用。

  通常我們使用json的方式,主要用作前后臺數據交換的格式:

  而在代碼邏輯中更多的是用關聯數組的方式。但即使是這樣我們也很少使用對象類型作為鍵值對的鍵名。

  var a= {}, b= [];

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

  鍵名的類型可以是對象,多么美好的一件事?。?/P>

 

  不過有一個問題。如果你想這么用,需要有一個條件:數據必須是動態添加的。(目前在同學這,沒有條件測試其他的瀏覽器,目前測試了IE8以及搜狗瀏覽器的IE內核和weikit內核)

  測試代碼如下:
復制代碼 代碼如下:
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


其實鍵名都是字符串:
復制代碼 代碼如下:
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

JavaScript技術js以對象為索引的關聯數組,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 疏附县| 盐亭县| 洪泽县| 邓州市| 南投县| 布尔津县| 三亚市| 友谊县| 富阳市| 右玉县| 清水河县| 怀安县| 个旧市| 山东省| 博乐市| 嵊州市| 漯河市| 定西市| 综艺| 阿拉尔市| 徐汇区| 含山县| 郑州市| 泗阳县| 兴安县| 万载县| 临泉县| 瑞昌市| 新绛县| 迭部县| 琼海市| 繁峙县| 车险| 广宁县| 武强县| 六枝特区| 乐平市| 长寿区| 丹寨县| 北川| 桃园县|