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 相关文章推荐
ASP 过滤数组重复数据函数(加强版)
May 31 Javascript
JavaScript比较两个对象是否相等的方法
Feb 06 Javascript
js焦点文字滚动效果代码分享
Aug 25 Javascript
jQuery获取复选框被选中数量及判断选择值的方法详解
May 25 Javascript
全面了解javascript三元运算符
Jun 27 Javascript
简单实现node.js图片上传
Dec 18 Javascript
react性能优化达到最大化的方法 immutable.js使用的必要性
Mar 09 Javascript
Vue 路由切换时页面内容没有重新加载的解决方法
Sep 01 Javascript
Vuejs学习笔记之使用指令v-model完成表单的数据双向绑定
Apr 29 Javascript
微信小程序bindtap事件与冒泡阻止详解
Aug 08 Javascript
基于Express框架使用POST传递Form数据
Aug 10 Javascript
Vue使用Proxy代理后仍无法生效的解决
Nov 13 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
附件名前加网站名
2008/03/23 PHP
php中file_get_contents与curl性能比较分析
2014/11/08 PHP
Twig模板引擎用法入门教程
2016/01/20 PHP
浅谈Laravel POST,PUT,PATCH 路由的区别
2019/10/15 PHP
javascript dom 操作详解 js加强
2009/07/13 Javascript
面向对象的Javascript之三(封装和信息隐藏)
2012/01/27 Javascript
jQuery登陆判断简单实现代码
2013/04/21 Javascript
JS子父窗口互相操作取值赋值的方法介绍
2013/05/11 Javascript
js操作模态窗口及父子窗口间相互传值示例
2014/06/09 Javascript
JS中attr和prop属性的区别以及优先选择示例介绍
2014/06/30 Javascript
JavaScript中实现最高效的数组乱序方法
2014/10/11 Javascript
《JavaScript函数式编程》读后感
2015/08/07 Javascript
js编写简单的计时器功能
2017/07/15 Javascript
微信小程序实现顶部选项卡(swiper)
2020/06/19 Javascript
JavaScript实现兼容IE6的收起折叠与展开效果实例
2017/09/20 Javascript
详解js跨域请求的两种方式,支持post请求
2018/05/05 Javascript
详解Ant Design of React的安装和使用方法
2018/12/27 Javascript
详解python的四种内置数据结构
2019/03/19 Python
python mysql断开重连的实现方法
2019/07/26 Python
python selenium爬取斗鱼所有直播房间信息过程详解
2019/08/09 Python
Python中Subprocess的不同函数解析
2019/12/10 Python
实例讲解Python 迭代器与生成器
2020/07/08 Python
Python语言编写智力问答小游戏功能
2020/10/13 Python
html5 Canvas画图教程(6)—canvas里画曲线之arcTo方法
2013/01/09 HTML / CSS
洲际酒店集团美国官网:IHG美国
2017/11/16 全球购物
高分子材料与工程专业个人求职信
2013/12/15 职场文书
五型班组建设方案
2014/02/10 职场文书
理工类毕业自我鉴定
2014/02/20 职场文书
生日主持词
2014/03/20 职场文书
个人工作表现自我评价
2015/03/06 职场文书
涨价通知
2015/04/23 职场文书
民事上诉状范文
2015/05/22 职场文书
雷锋之歌观后感
2015/06/10 职场文书
幼儿园元旦主持词
2015/07/06 职场文书
员工保密协议范本,您一定得收藏!很有用!
2019/08/08 职场文书
Apache Calcite 实现方言转换的代码
2021/04/24 Servers