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 加号(+)运算符号
Dec 06 Javascript
jQuery实现表头固定效果的实例代码
May 24 Javascript
JavaScript闭包函数访问外部变量的方法
Aug 27 Javascript
javascript根据时间生成m位随机数最大13位
Oct 30 Javascript
Javascript堆排序算法详解
Dec 03 Javascript
node.js中的fs.unlink方法使用说明
Dec 15 Javascript
javascript最基本的函数汇总
Jun 25 Javascript
Vue.js每天必学之表单控件绑定
Sep 05 Javascript
javascript实现获取图片大小及图片等比缩放的方法
Nov 24 Javascript
vue router+vuex实现首页登录验证判断逻辑
May 17 Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
Oct 12 Javascript
js设计模式之单例模式原理与用法详解
Aug 15 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
WindowsXP中快速配置Apache+PHP5+Mysql
2008/06/05 PHP
一步一步学习PHP(5) 类和对象
2010/02/16 PHP
关于php连接mssql:pdo odbc sql server
2011/07/20 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
2014/08/20 PHP
PHP实现RSA签名生成订单功能【支付宝示例】
2017/06/06 PHP
JQuery 中几个类选择器的简单使用介绍
2013/03/14 Javascript
JavaScript数组去重的3种方法和代码实例
2015/07/01 Javascript
初步使用Node连接Mysql数据库
2016/03/03 Javascript
Angular.js 实现数字转换汉字实例代码
2016/07/14 Javascript
基于JavaScript实现鼠标向下滑动加载div的代码
2016/08/31 Javascript
JavaScript获取URL中参数querystring的方法详解
2016/10/11 Javascript
Jquery on绑定的事件 触发多次实例代码
2016/12/08 Javascript
jQuery中animate()的使用方法及解决$(”body“).animate({“scrollTop”:top})不被Firefox支持的问题
2017/04/04 jQuery
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
2017/04/10 jQuery
angularjs项目的页面跳转如何实现(5种方法)
2017/05/25 Javascript
jQuery+ajax读取json数据并按照价格排序示例
2018/03/28 jQuery
react redux入门示例
2018/04/19 Javascript
js数组相减简单示例【删除a数组所有与b数组相同元素】
2020/03/04 Javascript
[03:36]2014DOTA2 TI小组赛综述 八强诞生进军钥匙球馆
2014/07/15 DOTA
python字符串str和字节数组相互转化方法
2017/03/18 Python
检测python爬虫时是否代理ip伪装成功的方法
2019/07/12 Python
Python pandas RFM模型应用实例详解
2019/11/20 Python
opencv之为图像添加边界的方法示例
2019/12/26 Python
python实现udp传输图片功能
2020/03/20 Python
Python+unittest+DDT实现数据驱动测试
2020/11/30 Python
应届生求职简历的自我评价怎么写
2013/10/23 职场文书
鼓励运动员的广播稿
2014/02/08 职场文书
电焊工岗位职责
2014/03/06 职场文书
三分钟演讲稿范文
2014/04/24 职场文书
学生会竞选演讲稿
2014/04/24 职场文书
计算机专业自荐信范文
2014/05/28 职场文书
2014年行政人事工作总结
2014/12/09 职场文书
驳回起诉裁定书
2015/05/19 职场文书
2016全国“质量月”活动标语口号
2015/12/26 职场文书
Python 中的单分派泛函数你真的了解吗
2021/06/22 Python
VUE使用draggable实现组件拖拽
2022/04/06 Vue.js