sunidol

栗子:

var obj = {
  "name": "Poly",
  "career": "it"
}
Object.defineProperty(
obj, "age", 
{ value:"forever 18", enumerable:false }
);
Object.prototype.protoPer1 = function(){console.log("proto");};
Object.prototype.protoPer2 = 2;

方法一 for in

用于遍历对象的可枚举属性,包括自有属性、继承自原型的属性(不含Symbol属性)

for(var key in obj){
  console.log(key);
}
//输出:name, career, protoPer1, protoPer2

方法二 Object.keys(xx)/Object.values(xx)

返回一个数组,元素均为对象自有的可枚举属性(不含继承的、Symbol属性)

console.log(Object.keys(obj));
console.log(Object.values(obj));
//输出:["name", "career"]
//输出:[ "Poly", "it"]

Object.getOwnProperty

用于返回对象的自有属性,包括可枚举和不可枚举的

console.log(Object.getOwnPropertyNames(obj));
//输出:["name", "career", "age"]

分类:

技术点:

相关文章:

  • 2021-11-25
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-25
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-08
  • 2021-06-17
  • 2022-12-23
相关资源
相似解决方案