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 相关文章推荐
tagName的使用,留一笔
Jun 26 Javascript
javascript针对DOM的应用分析(四)
Apr 15 Javascript
JQuery中DOM事件绑定用法详解
Jun 13 Javascript
AngularJS利用Controller完成URL跳转
Aug 09 Javascript
jQuery模拟Marquee实现无缝滚动效果完整实例
Sep 29 Javascript
js正则表达式验证密码强度【推荐】
Mar 03 Javascript
easyui简介_动力节点Java学院整理
Jul 14 Javascript
AngularJS点击添加样式、点击变色设置的实例代码
Jul 27 Javascript
利用JS测试目标网站的打开响应速度
Dec 01 Javascript
基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
May 16 Javascript
vue2中,根据list的id进入对应的详情页并修改title方法
Aug 24 Javascript
微信小程序官方动态自定义底部tabBar的例子
Sep 04 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
无数据库的详细域名查询程序PHP版(4)
2006/10/09 PHP
php 获取全局变量的代码
2011/04/21 PHP
PHP的Yii框架的常用日志操作总结
2015/12/08 PHP
php字符集转换
2017/01/23 PHP
PHP获取php,mysql,apche的版本信息及更多服务器信息
2021/03/09 PHP
图片自动缩小的js代码,用以防止图片撑破页面
2007/03/12 Javascript
新浪中用来显示flash的函数
2007/04/02 Javascript
JQuery 解析多维的Json数据格式
2009/11/02 Javascript
jQuery 源码分析笔记(4) Ready函数
2011/06/02 Javascript
js内存泄露的几种情况详细探讨
2013/05/31 Javascript
js文件缓存之版本管理详解
2013/07/05 Javascript
jquery实现图片裁剪思路及实现
2013/08/16 Javascript
javascript中attachEvent用法实例分析
2015/05/14 Javascript
AngularJS中$interval的用法详解
2016/02/02 Javascript
JavaScript中有关一个数组中最大值和最小值及它们的下表的输出的解决办法
2016/07/01 Javascript
JavaScript实现实时更新系统时间的实例代码
2017/04/04 Javascript
JavaWeb表单及时验证功能在输入后立即验证(含用户类型,性别,爱好...的验证)
2017/06/09 Javascript
使用Vue自定义指令实现Select组件
2018/05/24 Javascript
webpack + vue 打包生成公共配置文件(域名) 方便动态修改
2019/08/29 Javascript
微信小程序实现点击生成随机验证码
2020/09/09 Javascript
JavaScript实现页面高亮操作提示和蒙板
2021/01/04 Javascript
[52:39]完美世界DOTA2联赛PWL S3 CPG vs Forest 第一场 12.16
2020/12/17 DOTA
python模拟登录百度贴吧(百度贴吧登录)实例
2013/12/18 Python
深入解析Python设计模式编程中建造者模式的使用
2016/03/02 Python
Python学习笔记之While循环用法分析
2019/08/14 Python
如何基于python实现脚本加密
2019/12/28 Python
基于Keras 循环训练模型跑数据时内存泄漏的解决方式
2020/06/11 Python
基于Python 的语音重采样函数解析
2020/07/06 Python
最新版 Windows10上安装Python 3.8.5的步骤详解
2020/11/28 Python
美国高档百货Nordstrom的折扣店:Nordstrom Rack
2017/11/13 全球购物
大一军训感言
2014/01/09 职场文书
毕业自我评价
2014/02/05 职场文书
舞蹈兴趣小组活动总结
2014/07/07 职场文书
关于上班时间调整的通知
2015/04/23 职场文书
奖金申请报告模板
2015/05/15 职场文书
如何利用golang运用mysql数据库
2022/03/13 Golang