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 相关文章推荐
Prototype使用指南之form.js
Jan 10 Javascript
Javascript 自定义类型方法小结
Mar 02 Javascript
Javascript Boolean、Nnumber、String 强制类型转换的区别详细介绍
Dec 13 Javascript
window.addEventListener来解决让一个js事件执行多个函数
Dec 26 Javascript
利用百度地图JSAPI生成h7n9禽流感分布图实现代码
Apr 15 Javascript
GridView中获取被点击行中的DropDownList和TextBox中的值
Jul 18 Javascript
判断ie的两种简单方法
Aug 12 Javascript
Javascript writable特性介绍
Feb 27 Javascript
微信小程序 navbar实例详解
May 11 Javascript
Vue CLI项目 axios模块前后端交互的使用(类似ajax提交)
Sep 01 Javascript
JavaScript字符串处理常见操作方法小结
Nov 15 Javascript
JS轻量级函数式编程实现XDM三
Jun 16 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结合表单实现一些简单功能的例子
2011/06/04 PHP
php用户注册页面利用js进行表单验证具体实例
2013/10/17 PHP
PHP中执行MYSQL事务解决数据写入不完整等情况
2014/01/07 PHP
基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)
2014/01/31 PHP
Thinkphp中import的几个用法详细介绍
2014/07/02 PHP
PHP获取数组最大值下标的方法
2015/05/12 PHP
php使用ZipArchive函数实现文件的压缩与解压缩
2015/10/27 PHP
PHP依赖注入(DI)和控制反转(IoC)详解
2017/06/12 PHP
TP5框架实现签到功能的方法分析
2020/04/05 PHP
MooTools 1.2介绍
2009/09/14 Javascript
javascript中运用闭包和自执行函数解决大量的全局变量问题
2010/12/30 Javascript
JS前端框架关于重构的失败经验分享
2013/03/17 Javascript
Javascript实现真实字符串剩余字数提示的实例代码
2013/10/22 Javascript
jquery实现非叠加式的搜索框提示效果
2014/01/07 Javascript
Angular发布1.5正式版,专注于向Angular 2的过渡
2016/02/18 Javascript
实例详解ECMAScript5中新增的Array方法
2016/04/05 Javascript
javascript基于定时器实现进度条功能实例
2017/10/13 Javascript
vue2.0实现前端星星评分功能组件实例代码
2018/02/12 Javascript
vue bus全局事件中心简单Demo详解
2018/02/26 Javascript
express+vue+mongodb+session 实现注册登录功能
2018/12/06 Javascript
vue实现购物车抛物线小球动画效果的方法详解
2019/02/13 Javascript
使用nodejs分离html文件里的js和css详解
2019/04/12 NodeJs
layui按条件隐藏表格列的实例
2019/09/19 Javascript
微信小程序全局变量GLOBALDATA的定义和调用过程解析
2019/09/23 Javascript
VUE 实现动态给对象增加属性,并触发视图更新操作示例
2019/11/29 Javascript
[22:20]初生之犊-TI4第5名LGD战队纪录片
2014/08/13 DOTA
python提取具有某种特定字符串的行数据方法
2018/12/11 Python
python动态进度条的实现代码
2019/07/03 Python
Python2和3字符编码的区别知识点整理
2019/08/08 Python
python3正则模块re的使用方法详解
2020/02/11 Python
罗马尼亚在线杂货店:Pilulka.ro
2019/09/28 全球购物
英语专业毕业生求职简历的自我评价
2013/10/24 职场文书
学习教师敬业奉献模范事迹材料思想汇报
2014/09/19 职场文书
2015年酒店销售部工作总结
2015/07/24 职场文书
用Python进行栅格数据的分区统计和批量提取
2021/05/27 Python
详解Mysq MVCC多版本的并发控制
2022/04/29 MySQL