for-in是javascript中最常见的迭代语句,常常用于枚举自身的属性,某些情况下,可能按照随机顺序遍历数组元素;而Object.keys(),可以返回以对象的属性为元素的数组,数组中属性名的顺序跟使用for-in遍历返回的是一样的。
二者便利的数据也是不同的,for-in不但可以枚举自身的属性,也可以枚举继承原型链上的属性,Object.keys()只可以枚举自身属性。
for-in会遍历原型链上的属性,而Object.keys()不会。
for-in是javascript中最常见的迭代语句,常常用于枚举自身的属性,某些情况下,可能按照随机顺序遍历数组元素;而Object.keys(),可以返回以对象的属性为元素的数组,数组中属性名的顺序跟使用for-in遍历返回的是一样的。
二者便利的数据也是不同的,for-in不但可以枚举自身的属性,也可以枚举继承原型链上的属性,Object.keys()只可以枚举自身属性。
for-in会遍历原型链上的属性,而Object.keys()不会。