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 相关文章推荐
比较简单的异步加载JS文件的代码
Jul 18 Javascript
JQuery中如何传递参数如click(),change()等具体实现
Apr 28 Javascript
JS获取图片lowsrc属性的方法
Apr 01 Javascript
BootStrap给table表格的每一行添加一个按钮事件
Sep 07 Javascript
微信小程序实现页面跳转传值以及获取值的方法分析
Dec 18 Javascript
Vue 组件参数校验与非props特性的方法
Feb 12 Javascript
webpack项目使用eslint建立代码规范实现
May 16 Javascript
vue-cli配置flexible过程详解
Jul 04 Javascript
通过angular CDK实现页面元素拖放的步骤详解
Jul 01 Javascript
Vue3新特性之在Composition API中使用CSS Modules
Jul 13 Javascript
Vue 实现监听窗口关闭事件,并在窗口关闭前发送请求
Sep 01 Javascript
Ant design vue table 单击行选中 勾选checkbox教程
Oct 24 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远程连接MYSQL数据库非常慢的解决方法
2008/07/05 PHP
php计算两个坐标(经度,纬度)之间距离的方法
2015/04/17 PHP
PHP使用openssl扩展实现加解密方法示例
2020/02/20 PHP
浏览器脚本兼容 文本框中,回车键触发事件的兼容
2010/06/21 Javascript
JavaScript判断一个字符串是否包含指定子字符串的方法
2015/03/18 Javascript
iPhone手机上搭建nodejs服务器步骤方法
2015/07/06 NodeJs
JS实现左右拖动改变内容显示区域大小的方法
2015/10/13 Javascript
JS中位置与大小的获取方法
2016/11/22 Javascript
深究AngularJS中$sce的使用
2017/06/12 Javascript
基于node.js制作简单爬虫教程
2017/06/29 Javascript
JS实现DOM删除节点操作示例
2018/04/04 Javascript
单页面vue引入百度统计的使用方法示例详解
2018/10/13 Javascript
vue实现简易计算器功能
2021/01/20 Vue.js
[54:24]Optic vs TNC 2018国际邀请赛小组赛BO2 第二场
2018/08/18 DOTA
下载给定网页上图片的方法
2014/02/18 Python
100行python代码实现跳一跳辅助程序
2018/01/15 Python
Python List cmp()知识点总结
2019/02/18 Python
如何安装2019Pycharm最新版本(详细教程)
2019/09/26 Python
python实现树的深度优先遍历与广度优先遍历详解
2019/10/26 Python
pygame用blit()实现动画效果的示例代码
2020/05/28 Python
keras的三种模型实现与区别说明
2020/07/03 Python
Python和Bash结合在一起的方法
2020/11/13 Python
Html5之title吸顶功能
2018/06/04 HTML / CSS
详解webapp页面滚动卡顿的解决办法
2018/12/26 HTML / CSS
BIFFI美国站:意大利BIFFI BOUTIQUES豪华多品牌时装零售公司
2020/02/11 全球购物
Spotahome意大利:公寓和房间出租
2020/02/21 全球购物
网络体系结构及协议的定义
2014/03/13 面试题
幼教个人求职信范文
2013/12/02 职场文书
探矿工程师自荐信
2014/01/24 职场文书
大学生自我评价范文分享
2014/02/21 职场文书
感恩老师的演讲稿
2014/05/06 职场文书
小学语文教学经验交流材料
2014/06/02 职场文书
出售房屋协议书范本
2014/10/06 职场文书
机关作风建设自查报告
2014/10/22 职场文书
五年级作文之劳动作文
2019/11/12 职场文书
linux目录管理方法介绍
2022/06/01 Servers