再谈json
接上一篇,省市三级联动的例子中,引入了1个QQ网站上的js文件。这个js中构造了一个地址对象,页面上我们所有的操作都跟这个对象关联。今天讨论这种对象怎么构造的问题。
前面写过一篇:浅谈Json数据格式 http://www.cnblogs.com/xiaochongchong/p/5284441.html
实际中用的比较多的是这种嵌套数据格式,obj = {"items":{"a":[1,2],"b",[3,4]}}。构造起来很灵活,使用起来很方便。今天讨论这种对象怎么构造的问题。
最外层是对象的形式,属性:值。值里面又是1个对象,这个对象的值是个数组(数组的话,保存的是类型一致的常量)。
使用所谓的混合构造模式:http://www.cnblogs.com/xiaochongchong/p/5283694.html 构造的过程就按着这个走下去可以了。
构造函数实现、访问,代码如下:
<script> //初始化为空的构造函数 function Obj(){ this.items = {} } //原型上添加方法 Obj.prototype.add = function (id, iArray) { this.items[id] = iArray; } //new对象 var obj = new Obj(); obj.add("a",[1,2]) obj.add("b",[3,4]); //以上的构造等价于直接申明以下的变量 //obj = {"items":{"a":[1,2],"b",[3,4]}} //从obj中取东西 alert(obj.items["a"][0]);//1 alert(obj.items["b"][0]);//3 </script>