定义
Object.keys
定义:返回一个对象可枚举属性的字符串数组;
Object.getOwnPropertyNames
属性的可枚举性、不可枚举性
定义:可枚举属性是指那些内部 “可枚举” 标志设置为 true 的属性,对于通过直接的赋值和属性初始化的属性,该标识值默认为即为 true,对于通过 Object.defineProperty 等定义的属性,该标识值默认为 false。
例子
@H_404_38@var obj = { "prop1": "v1" }; Object.defineProperty(obj,"prop2",{ value: "v2",writable: false }); console.log(Object.keys(obj).length); //output:1 console.log(Object.getOwnPropertyNames(obj).length); :2 console.log(Object.keys(obj)); //output:Array[1] => [0: "prop1"] console.log(Object.getOwnPropertyNames(obj)); :Array[2] => [0: "prop1",1: "prop2"]