JavaScript中遍历对象的property的3种方法介绍


Posted in Javascript onDecember 30, 2014

在JavaScript中,可以用三种方法来遍历对象的property:

1.for/in。可以使用for/in语句遍历对象自身的property(Own Property)及其从原型对象处继承的property,只有enumerable的property才会被遍历到。

2.Object.keys()。可以将对象作为参数传入Object.keys(),Object.keys()语句将返回由所有property名称字符串所组成的数组。Object.keys()语句仅返回对象自身的(Own Property)且enumerable的property。该语句仅在ECMAScript 5标准中有效。

3.Object.getOwnPropertyNames()。可以将对象作为参数传入Object.getOwnPropertyNames(),与Object.keys()一样,该语句将返回由所有property名称字符串所组成的数组。与Object.keys()不同的是,Object.getOwnPropertyNames()语句将返回所有对象自身的property(Own Property),而不论其是否为enumerable。该语句仅在ECMAScript 5标准中有效。

综合上述信息,总结成图如下:

JavaScript中遍历对象的property的3种方法介绍

实验:

var o = {x:1, y:2};

var a = Object.create(o);

a.z = 3;
for(p in a){

  console.log(p);

}//z x y

console.log(Object.keys(a));//["z"]

console.log(Object.getOwnPropertyNames(a));//["z"]
Javascript 相关文章推荐
javascript replace()正则替换实现代码
Feb 26 Javascript
HTML长文本截取含有HTML代码同样适用的两种方法
Jul 31 Javascript
回车直接实现点击某按钮的效果即触发单击事件
Feb 27 Javascript
ECMAScript6的新特性箭头函数(Arrow Function)详细介绍
Jun 07 Javascript
jQuery中clone()方法用法实例
Jan 16 Javascript
浅谈JavaScript中的String对象常用方法
Feb 25 Javascript
详细介绍jQuery.outerWidth() 函数具体用法
Jul 20 Javascript
浅谈addEventListener和attachEvent的区别
Jul 14 Javascript
js实现的页面加载完毕之前loading提示效果完整示例【附demo源码下载】
Aug 02 Javascript
JS字符串统计操作示例【遍历,截取,输出,计算】
Mar 27 Javascript
利用js实现简易红绿灯
Oct 15 Javascript
详解实现vue的数据响应式原理
Jan 20 Vue.js
JavaScript语言对Unicode字符集的支持详解
Dec 30 #Javascript
JavaScript中的对象的extensible属性介绍
Dec 30 #Javascript
JavaScript中的对象序列化介绍
Dec 30 #Javascript
JavaScript中的数组特性介绍
Dec 30 #Javascript
JavaScript中数组成员的添加、删除介绍
Dec 30 #Javascript
JavaScript 实现打印,打印预览,打印设置
Dec 30 #Javascript
JavaScript中的数组操作介绍
Dec 30 #Javascript
You might like
一个简单的php加密解密函数(动态加密)
2013/06/19 PHP
PHP中__FILE__、dirname与basename用法实例分析
2014/12/01 PHP
PHP实现图片自动清理的方法
2015/07/08 PHP
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
2016/05/20 PHP
发一个自己用JS写的实用看图工具实现代码
2008/07/26 Javascript
JavaScript 滚轮事件使用说明
2010/03/07 Javascript
jQuery实现类似淘宝购物车全选状态示例
2013/06/26 Javascript
javaScript函数中执行C#代码中的函数方法总结
2013/08/07 Javascript
javascript中怎么做对象的类型判断
2013/11/11 Javascript
Thinkphp模板没有解析直接原样输出的解决方法
2014/10/31 Javascript
jquery使用remove()方法删除指定class子元素
2015/03/26 Javascript
JavaScript动态插入CSS的方法
2015/12/10 Javascript
基于jquery fly插件实现加入购物车抛物线动画效果
2016/04/05 Javascript
每日十条JavaScript经验技巧(二)
2016/06/23 Javascript
新手学习前端之js模仿淘宝主页网站
2016/10/31 Javascript
js css自定义分页效果
2017/02/24 Javascript
微信小程序中hidden不生效原因的解决办法
2017/04/26 Javascript
AngularJS select加载数据选中默认值的方法
2018/02/28 Javascript
浅谈微信小程序之官方UI框架we-ui使用教程
2018/08/20 Javascript
Vue中 key keep-alive的实现原理
2018/09/18 Javascript
解决axios会发送两次请求,有个OPTIONS请求的问题
2018/10/25 Javascript
微信小程序后台持续定位功能使用详解
2019/08/23 Javascript
在vue中利用v-html按分号将文本换行的例子
2019/11/14 Javascript
JavaScript indexOf()原理及使用方法详解
2020/07/09 Javascript
Element Card 卡片的具体使用
2020/07/26 Javascript
JavaScript动画实例之粒子文本的实现方法详解
2020/07/28 Javascript
深入讲解Python中的迭代器和生成器
2015/10/26 Python
python面向对象法实现图书管理系统
2019/04/19 Python
python对绑定事件的鼠标、按键的判断实例
2019/07/17 Python
python进程的状态、创建及使用方法详解
2019/12/06 Python
阿玛尼化妆品美国官网:Giorgio Armani Beauty
2017/02/02 全球购物
北美最大的参茸药食商城:德成行
2020/12/06 全球购物
技校学生个人职业生涯规划范文
2014/03/03 职场文书
《蝙蝠和雷达》教学反思
2014/04/23 职场文书
大学国际贸易专业自荐信
2014/06/05 职场文书
使用@Value值注入及配置文件组件扫描
2021/07/09 Java/Android