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游戏开发之《三国志曹操传》零部件开发(四)用地图块拼成大地图
Jan 23 Javascript
js对文章内容进行分页示例代码
Mar 05 Javascript
解决Jquery向页面append新元素之后事件的绑定问题
Mar 16 Javascript
JavaScript实现页面5秒后自动跳转的方法
Apr 16 Javascript
如何用jQuery实现ASP.NET GridView折叠伸展效果
Sep 26 Javascript
js 获取今天以及过去日期
Apr 11 Javascript
深入浅析JavaScript中的RegExp对象
Sep 18 Javascript
layui中使用jquery控制radio选中事件的示例代码
Aug 15 jQuery
JS打印彩色菱形的实例代码
Aug 15 Javascript
Vue form表单动态添加组件实战案例
Sep 02 Javascript
javascript贪吃蛇游戏设计与实现
Sep 17 Javascript
Openlayers实现测量功能
Sep 25 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数组排序函数合集 以及它们之间的联系分析
2013/06/27 PHP
php模拟ping命令(php exec函数的使用方法)
2013/10/25 PHP
使用PHP生成二维码的方法汇总
2015/07/22 PHP
php处理静态页面:页面设置缓存时间实例
2017/06/22 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
2019/06/14 PHP
php并发加锁问题分析与设计代码实例讲解
2021/02/26 PHP
jquery得到font-size属性值实现代码
2013/09/30 Javascript
JavaScript中的small()方法使用详解
2015/06/08 Javascript
实现音乐播放器的代码(html5+css3+jquery)
2015/08/04 Javascript
D3.js中data(), enter() 和 exit()的问题详解
2015/08/17 Javascript
原生JS实现仿淘宝网左侧商品分类菜单效果代码
2015/09/10 Javascript
使用jQuery监听DOM元素大小变化
2016/02/24 Javascript
深入浅析JavaScript中with语句的理解
2016/05/12 Javascript
javascript简单实现等比例缩小图片的方法
2016/07/27 Javascript
js实现文字截断功能
2016/09/14 Javascript
BootStrap Table 获取同行不同列元素的方法
2016/12/19 Javascript
解决ztree搜索中多级菜单展示不全问题
2017/07/05 Javascript
详解Vue中localstorage和sessionstorage的使用
2017/12/22 Javascript
Angular浏览器插件Batarang介绍及使用
2018/02/07 Javascript
详解使用Nuxt.js快速搭建服务端渲染(SSR)应用
2019/03/13 Javascript
微信小程序身份证验证方法实现详解
2019/06/28 Javascript
Layui 导航默认展开和菜单栏选中高亮设置的方法
2019/09/04 Javascript
[07:54]DOTA2 MV《我的动力鞋》 ImbaTV 出品
2014/11/21 DOTA
Numpy中的mask的使用
2018/07/21 Python
Python 绘制酷炫的三维图步骤详解
2019/07/12 Python
python db类用法说明
2020/07/07 Python
python实现取余操作的简单实例
2020/08/16 Python
html5声频audio和视频video等新特性详细说明
2012/12/26 HTML / CSS
庆中秋节主题活动方案
2014/02/03 职场文书
《阳光》教学反思
2014/02/23 职场文书
民政局标准版离婚协议书
2014/12/01 职场文书
公司慰问信范文
2015/03/23 职场文书
2015年社区流动人口工作总结
2015/05/12 职场文书
方法汇总:Python 安装第三方库常用
2022/04/26 Python
Golang并发工具Singleflight
2022/05/06 Golang
MySQL自定义函数及触发器
2022/08/05 MySQL