for/in 循环遍历对象的属性
2016-03-10 17:44
615 查看
for/in 循环遍历对象的属性
for/in 语句循环遍历对象的属性。js中获取key得到某对象中相对应的value的方法:obj.key
js中根据动态key得到某对象中相对应的value的方法有二:
一、var key = "name1";var value = obj[key];
二、var key = "name1";var value = eval("obj."+key);
Js代码
![](http://wangjingyi.iteye.com/images/icon_star.png)
var obj={"name":"wjy","age":26,"sex":"female"};//定义一个object对象
var keys=[];//定义一个数组用来接受key
var values=[];//定义一个数组用来接受value
for(var key in obj){
keys.push(key);
values.push(obj[key]);//取得value
alert(eval("obj."+key));//循环内逐一打印value值
}
alert(obj.name);//wjy
alert("keys is :"+keys+" and values is :"+values);
//keys is : name,age,sex and values is : wjy,26,female
使用 for in 循环遍历对象的属性时,原型链上的所有属性都将被访问:
Java代码
![](http://wangjingyi.iteye.com/images/icon_star.png)
Object.prototype.bar = 10;// 修改Object.prototype
var obj={"name":"wjy","age":26,"sex":"female"};//定义一个object对象
var keys=[];//定义一个数组用来接受key
var values=[];//定义一个数组用来接受value
for(var key in obj){
keys.push(key);
values.push(obj[key]);//取得value
}
alert("keys is :"+keys+" and values is :"+values);
//keys is : name,age,sex,bar and values is : wjy,26,female,10
推荐总是使用 hasOwnProperty 方法, 这将会避免原型对象扩展带来的干扰:
Javascript代码
![](http://wangjingyi.iteye.com/images/icon_star.png)
function allpro(obj){
var keys=[];
var values=[];
for(var key in obj){
//只遍历对象自身的属性,而不包含继承于原型链上的属性。
if (obj.hasOwnProperty(key) === true){
keys.push(key);
values.push(obj[key]);
}
}
alert("keys is :"+keys+" and values is :"+values);
}
Object.prototype.bar = 1;// 修改Object.prototype
var o={"name":"wjy","age":26,"sex":"female"};//定义一个object对象
allpro(o);
//keys is : name,age,sex and values is: wjy,26,female
object对象没有length属性,那么获取object对象的length就可以通过遍历得到key值的数组的长度来获取啦~
相关文章推荐
- 【蓝桥杯】PREV-5 错误票据
- 解决手机网页内容层随着遮罩层滚动问题
- 当xcode里点运行出现treating unicode character as whites
- 算法:KMP
- Android退出应用最优雅的方式(改进版)
- 我的angularjs源码学习之旅2——依赖注入
- SQL Server 触发器
- 解决JAVA调用mysqldump备份数据库时文件为空的问题
- 我的angularjs源码学习之旅2——依赖注入
- linux下开启伪静态
- 单例模式(Singleton Pattern)
- jquery DataTabale 数据列的增删
- 经典SQL语句大全(数据开发篇)
- 机器学习算法基础概念学习总结
- sqlite3 基本操作
- Centos 6.2/7 Mysql 安装
- Quartz教程三:Job与JobDetail介绍
- HTML5安全:CORS(跨域资源共享)简介
- 前端成长笔记(页面撑开头尾)
- js截取n个字符(中文为2个字符)