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 相关文章推荐
前端开发必须知道的JS之原型和继承
Jul 06 Javascript
模拟jQuery ajax服务器端与客户端通信的代码
Mar 28 Javascript
页面只能打开一次Cooike如何实现
Dec 04 Javascript
js实现鼠标经过时图片滚动停止的方法
Feb 16 Javascript
javascript实现checkBox的全选,反选与赋值
Mar 12 Javascript
jquery实现手机号码选号的方法
Jul 31 Javascript
Node.js巧妙实现Web应用代码热更新
Oct 22 Javascript
在IE8上JS实现combobox支持拼音检索功能
May 23 Javascript
JavaScript 冒泡排序和选择排序的实现代码
Sep 03 Javascript
Vue 2.x教程之基础API
Mar 06 Javascript
jQuery插件开发发送短信倒计时功能代码
May 09 jQuery
详解基于 Node.js 的轻量级云函数功能实现
Jul 08 Javascript
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
本地计算机无法启动Apache故障处理
2014/08/08 PHP
PHP5.4起内置web服务器使用方法
2016/08/09 PHP
浅谈PHP进程管理
2019/03/08 PHP
BOOM vs RR BO3 第一场2.13
2021/03/10 DOTA
JS生成随机字符串的多种方法
2014/06/10 Javascript
js表格排序实例分析(支持int,float,date,string四种数据类型)
2015/05/06 Javascript
JavaScript中用sort()方法对数组元素进行排序的操作
2015/06/09 Javascript
利用node.js+mongodb如何搭建一个简单登录注册的功能详解
2017/07/30 Javascript
微信小程序时间标签和时间范围的联动效果
2019/02/15 Javascript
微信小程序云开发(数据库)详解
2019/05/17 Javascript
JavaScript实现世界各地时间显示
2020/09/07 Javascript
React中使用Vditor自定义图片详解
2020/12/25 Javascript
[04:36]DOTA2国际邀请赛 ti3精彩集锦
2013/08/19 DOTA
[01:21:36]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python二分法实现实例
2013/11/21 Python
Python中的choice()方法使用详解
2015/05/15 Python
Python网络爬虫与信息提取(实例讲解)
2017/08/29 Python
详解Python核心编程中的浅拷贝与深拷贝
2018/01/07 Python
Python获取当前公网ip并自动断开宽带连接实例代码
2018/01/12 Python
python测试mysql写入性能完整实例
2018/01/18 Python
numpy中的delete删除数组整行和整列的实例
2018/05/09 Python
python创造虚拟环境方法总结
2019/03/04 Python
Python如何计算语句执行时间
2019/11/22 Python
Tensorflow限制CPU个数实例
2020/02/06 Python
Win10下安装并使用tensorflow-gpu1.8.0+python3.6全过程分析(显卡MX250+CUDA9.0+cudnn)
2020/02/17 Python
Ubuntu18.04安装 PyCharm并使用 Anaconda 管理的Python环境
2020/04/08 Python
CSS3实现酷炫的3D旋转透视效果
2019/11/21 HTML / CSS
美国高街时尚品牌:OASAP
2016/07/24 全球购物
趣味比赛活动方案
2014/02/15 职场文书
大学四年个人总结
2015/03/03 职场文书
起诉书范文
2015/05/20 职场文书
行政复议答复书
2015/07/01 职场文书
2016年员工年度考核评语
2015/12/02 职场文书
2016年区委书记抓基层党建工作公开承诺书
2016/03/25 职场文书
MySQL单表千万级数据处理的思路分享
2021/06/05 MySQL
Python使用Opencv打开笔记本电脑摄像头报错解问题及解决
2022/06/21 Python