javascript中讨论关联数组和对象的区别
2015-10-31 22:52
567 查看
数组是批量管理多个数据的存储空间而统一起的一个名字,而对象是程序中描述现实中的一个物体的属性和功能的结构。数组存在的形式是在windows之外的一个空间的引用类型的对象。而windows只是存储了数组的地址值,探究其原理不难看出数值也是属于对象。在JS中一切都是对象。
关联数组是指每个元素自定义的字符串的下标的数组,由于是自定义的下标所以关联数组的length属性没有效果。
那么要遍历关联数组的方法就是,假设data就是关联数组:
var dataCount=0;
for(var key in data ){//key值就关联数组的下标
dataCount++;
//通过这种方法我们可以遍历关联数组的下标,获得关联数组的length值
}
而在对象中,相比于关联数组他们有惊人的相似。这里我们可以将关联数组的下标看做是属性,把关联数组的值看做是属性的值,同样,上述方法,假如data是一个对象,那么可以用相同的方法,来遍历对象。我们可以通过这种方法来获得对象对象的属性key,dataCount就可以得到对象中的属性有几个。
这里我们定义一个对象:
var
emp={'class1':'chen','class2':'he'};
console.log(emp.class2);//注意在关联数组中行不通
console.log(emp['class2']);
上面两个console出来的结果都是一样的,注意第二个console.log的方法。emp['class2']所用的方法跟数组所用的方法是一样的,都可以用来得到属性值或数据值。对比上面两个console第一种方法有局限性,因为变量名不允许以数字开头,或者变量名不允许包含空格,或变量名不能是关键字。但是用第二种,如emp['1月']或emp['for']都是可以有的,在关联数组中照样适用。
关联数组是指每个元素自定义的字符串的下标的数组,由于是自定义的下标所以关联数组的length属性没有效果。
那么要遍历关联数组的方法就是,假设data就是关联数组:
var dataCount=0;
for(var key in data ){//key值就关联数组的下标
dataCount++;
//通过这种方法我们可以遍历关联数组的下标,获得关联数组的length值
}
而在对象中,相比于关联数组他们有惊人的相似。这里我们可以将关联数组的下标看做是属性,把关联数组的值看做是属性的值,同样,上述方法,假如data是一个对象,那么可以用相同的方法,来遍历对象。我们可以通过这种方法来获得对象对象的属性key,dataCount就可以得到对象中的属性有几个。
这里我们定义一个对象:
var
emp={'class1':'chen','class2':'he'};
console.log(emp.class2);//注意在关联数组中行不通
console.log(emp['class2']);
上面两个console出来的结果都是一样的,注意第二个console.log的方法。emp['class2']所用的方法跟数组所用的方法是一样的,都可以用来得到属性值或数据值。对比上面两个console第一种方法有局限性,因为变量名不允许以数字开头,或者变量名不允许包含空格,或变量名不能是关键字。但是用第二种,如emp['1月']或emp['for']都是可以有的,在关联数组中照样适用。
相关文章推荐
- js刷新当前页的方法
- JS之简易计算器
- iScroll.js 向上滑动异步加载数据回弹问题
- JS原生Date类型方法
- JavaScript 阶段总结
- Echarts心得
- JSON 和 List、Map集合结合使用
- c# json操作
- jsp获取contextPath的方法
- 掌握XML、JSON及其解析教程
- javascript 实现文本框明文转暗码
- Windows 10开发基础——XML和JSON (一)
- angular-file-upload 中文API
- 超轻量级异步JS框架
- 10个强大的JavaScript库
- JSON
- JavaScript类继承详解
- ionic怎样使用LokiJS作为本地存储
- JS内置对象
- js 常用函数