文章导航

Object.keys()

2018-9-14 10:36| 作者: admin| 查看: 375| 评论: 0|来自: 蚂蚁部落

对象和数组都是键值对集合。

不同的是,对象是无序键值对集合,数组是有序键值对集合。

数组中的键是数组的索引,对象的键是对象的属性名称。

代码实例如下:

[JavaScript] 纯文本查看 复制代码
let antzone={
  webName:"蚂蚁部落",
  age:4,
  address:"青岛市南区",
  func:function(){
    // code 
  }
}

上面对象中,webName、age、address和func就是对象的键。

Object.keys方法从名称可以猜测出,它的作用是用来获取对象的键,也就是对象的属性名称或者方法名称。

特别说明:必须是对象自有属性,不能来自原型链。

ES5新增此方法。

更多Object对象内容参阅JavaScript Object 对象一章节。

语法结构:

[JavaScript] 纯文本查看 复制代码
Object.keys(object)

参数解析:

(1).object:必需,包含属性或者方法的对象。

此方法的返回值是一个存放着属性和方法名称的数组。

浏览器兼容:

(1).IE9+浏览器支持此方法。

(2).edge浏览器支持此方法。

(3).谷歌浏览器支持此方法。

(4).火狐浏览器支持此方法。

(5).opera浏览器支持此方法。

(6).safria浏览器支持此方法。

代码实例:

[JavaScript] 纯文本查看 复制代码运行代码
let obj = {
  webName: "蚂蚁部落",
  url: "www.softwhy.com",
  address:"青岛市南区",
  func:function(){
    //code
  }
}
console.log(Object.keys(obj));

代码运行效果截图如下:

a:3:{s:3:\"pic\";s:43:\"portal/201809/14/103813usb5w7sxzhzoi23e.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

可以看到Object.keys方法可以获取对象的键名,也就是说行或者方法名称。

[JavaScript] 纯文本查看 复制代码运行代码
let obj = {
  webName: "蚂蚁部落",
  url: "www.softwhy.com",
  address:"青岛市南区"
}
Object.defineProperty(obj, "webName", {
  enumerable:false
})
console.log(Object.keys(obj));

代码运行效果截图如下:

a:3:{s:3:\"pic\";s:43:\"portal/201809/14/103845a777k6ddg8rgr7xk.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

键必须是枚举的,否则Object.keys方法无法获取。

[JavaScript] 纯文本查看 复制代码运行代码
Object.prototype.age = 4;
let obj = {
  webName: "蚂蚁部落",
  url: "www.softwhy.com",
  address:"青岛市南区"
}
console.log(Object.keys(obj));

代码运行效果截图如下:

a:3:{s:3:\"pic\";s:43:\"portal/201809/14/103916i0jc00icho8ozrh0.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

无法枚举原型链上属性或者方法名称。


鲜花

握手

雷人

路过

鸡蛋

最新评论

返回顶部