Object 对象的静态方法

一、Object 对象的静态方法

所谓“静态方法”,是指部署在Object对象自身的方法。

Object.keys()方法与Object.getOwnPropertyNames方法很相似,一般用来遍历对象的(属性名,索引),并返回一个数组,该数组成员都是对象自身的(不是继承的)。

区别:

  • Object.keys方法只返回可枚举的属性
  • Object.getOwnPropertyNames方法还能返回不可枚举的属性名

1.Object.keys

// 定义一个 Array 对象
let arr = ["a", "b", "c"];

// 定义一个 Object 对象
let obj = { 
    foo: "bar", 
    baz: 42 
};

// 定义一个  类数组 对象 
let ArrayLike = { 
    0 : "a", 
    1 : "b", 
    2 : "c"
};

// 类数组 对象, 随机 key 排序 
let anObj = { 
    100: 'a', 
    2: 'b', 
    7: 'c' 
}; 

/* getFoo 是个不可枚举的属性 */ 
var my_obj = Object.create(
     {}, 
     { getFoo : 
        { value : function (){
             return this.foo
             } 
        }
     }
);
my_obj.foo = 1;
// 打印结果
console.log(Object.keys(arr));       // ['0', '1', '2']
console.log(Object.keys(obj));       // ["foo","baz"]
console.log(Object.keys(ArrayLike));     // ['0', '1', '2']
console.log(Object.keys(anObj));   // ['2', '7', '100']
console.log(Object.keys(my_obj)); // ['foo']

总结:

返回数组中的排序与for..in是一致的,区别在于for..in循环还可以枚举原型链上的属性。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值