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 解决表单仍然提交即使监听处理函数返回false
Mar 14 Javascript
jquery 回车事件实现代码
Aug 23 Javascript
Shell脚本实现Linux系统和进程资源监控
Mar 05 Javascript
Javascript显示和隐藏ul列表的方法
Jul 15 Javascript
JS给Textarea文本框添加行号的方法
Aug 20 Javascript
JavaScript基础重点(必看)
Jul 09 Javascript
WEB前端实现裁剪上传图片功能
Oct 17 Javascript
浅谈jQuery hover(over, out)事件函数
Dec 03 Javascript
Angular ng-repeat遍历渲染完页面后执行其他操作详细介绍
Dec 13 Javascript
vue axios请求拦截实例代码
Mar 29 Javascript
在小程序中使用腾讯视频插件播放教程视频的方法
Jul 10 Javascript
前端canvas中物体边框和控制点的实现示例
Aug 05 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 DOS攻击实现代码(附如何防范)
2012/05/29 PHP
Laravel4中的Validator验证扩展用法详解
2016/07/26 PHP
JQUERY获取form表单值的代码
2010/07/17 Javascript
js动画(animate)简单引擎代码示例
2012/12/04 Javascript
推荐 21 款优秀的高性能 Node.js 开发框架
2014/08/18 Javascript
html5+javascript实现简单上传的注意细节
2016/04/18 Javascript
Bootstrap开发实战之第一次接触Bootstrap
2016/06/02 Javascript
JS操作JSON方法总结(推荐)
2016/06/14 Javascript
BootStrap框架个人总结(bootstrap框架、导航条、下拉菜单、轮播广告carousel、栅格系统布局、标签页tabs、模态框、菜单定位)
2016/12/01 Javascript
基于BootStrap栅格栏系统完成网站底部版权信息区
2016/12/23 Javascript
JavaScript实现实时更新系统时间的实例代码
2017/04/04 Javascript
vue如何从接口请求数据
2017/06/22 Javascript
Vue filters过滤器的使用方法
2017/07/14 Javascript
基于Bootstrap的标签页组件及bootstrap-tab使用说明
2017/07/25 Javascript
Angular.js中$resource高大上的数据交互详解
2017/07/30 Javascript
JS验证码实现代码
2017/09/14 Javascript
详解Vue中watch的高级用法
2018/05/02 Javascript
对angular2中的ngfor和ngif指令嵌套实例讲解
2018/09/12 Javascript
通过说明与示例了解js五种设计模式
2019/06/17 Javascript
基于js实现的图片拖拽排序源码实例
2020/11/04 Javascript
Python语言的12个基础知识点小结
2014/07/10 Python
python 对象和json互相转换方法
2018/03/22 Python
Python使用cx_Freeze库生成msi格式安装文件的方法
2018/07/10 Python
Keras搭建自编码器操作
2020/07/03 Python
HTML+CSS3 模仿Windows7 桌面效果
2010/06/17 HTML / CSS
利用css3如何设置没有上下边的列表间隔线
2017/07/03 HTML / CSS
多视角3D逼真HTML5水波动画
2016/03/03 HTML / CSS
舞会礼服和舞会鞋:PromGirl
2019/04/22 全球购物
纽约市的奢华内衣目的地:Anya Lust
2019/08/02 全球购物
班级活动策划书
2014/02/06 职场文书
建筑学专业自荐书
2014/07/09 职场文书
三关爱志愿服务活动方案
2014/08/17 职场文书
项目转让协议书
2014/10/27 职场文书
张丽莉事迹观后感
2015/06/16 职场文书
《秋天的图画》教学反思
2016/02/19 职场文书
Java SSM配置文件案例详解
2021/08/30 Java/Android