【现在对各个方法还不是很熟,熟了之后再添加代码】
一、for-in
返回的对象:for…in 循环只遍历可枚举属性。循环将迭代对象的所有可枚举属性和从它的构造函数的 prototype 继承而来的(包括被覆盖的内建属性)。
Q:什么是内建属性?
二、Object.keys()
返回的对象:给定对象的所有可枚举自身属性的属性名组成的数组。
返回的顺序:数组中属性名的排列顺序和使用for-in循环遍历该对象时返回的顺序一致。
(两者的主要区别是 for-in 还会遍历出一个对象从其原型链上继承到的可枚举属性)。
这些属性的顺序与手动遍历该对象属性时的一致。
三、Object.getOwnPropertyNames()
返回的对象:Object.getOwnPropertyNames() 方法返回给定对象的所有属性名组成的数组,包括可枚举和不可枚举的属性。
返回的顺序: 可枚举属性的顺序与for-in、Object.key()所返回的顺序相同,不可枚举属性的顺序没有规定。