我们常说JavaScript原生支持json,因为我们可以认为json就是对JavaScript的Object对象的灵活应用。
通常我们使用json的方式,主要用作前后台数据交换的格式:
而在代码逻辑中更多的是用关联数组的方式。但即使是这样我们也很少使用对象类型作为键值对的键名。
var a= {}, b= [];
a[b] = new Date(); //通过a[b]可以取得时间值。
键名的类型可以是对象,多么美好的一件事啊!
不过有一个问题。如果你想这么用,需要有一个条件:数据必须是动态添加的。(目前在同学这,没有条件测试其他的浏览器,目前测试了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
对象,索引,关联数组
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。