关于js对象的遍历顺序,小编已经详细讲解过。js对象的遍历顺序一般是根据对象属性定义的顺序来进行遍历的。那js对象遍历的属性是什么呢?简单来说for…in遍历对象自身的和继承的可枚举属性;Object.keys()遍历包括对象自身的(不含继承的)所有可枚举属性;Object.getOwnPropertyNames()遍历获取对象的所有自身属性的属性名(包括不可枚举的属性)组成的数组。
1、for…in遍历
for…in循环遍历对象自身的和继承的可枚举属性;
会同时遍历自身以及原型链上的属性;
只遍历可枚举属性,不遍历不可枚举属性不遍历Symbol;
不是使用for循环来遍历,因为对象的属性是无序的。
2、Object.keys()遍历
获取对象自身所有的可枚举的属性值,返回一个数组,包括对象自身的(不含继承的)所有可枚举属性;
只遍历自身属性,不遍历原型链上的属性;
只遍历可枚举属性,不遍历不可枚举属性不遍历Symbol。
3、Object.getOwnPropertyNames()遍历
获取对象的所有自身属性的属性名(包括不可枚举的属性)组成的数组,注意是包含对象自身的所有属性;
只遍历自身属性,不遍历原型链上的属性;
可枚举属性与不可枚举属性都可遍历;
不可遍历Symbol。
原文来自:https://www.py.cn© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容