记录3 对象

2017-01-06  本文已影响0人  suhuanzhen

对象的定义与访问

对象的键只有一种类型,那就是字符串,所以我们的键一般都要加上双引号。如果键不加上双引号也可以被转换为字符串,不过这样的做法不好,如下如果把legs num去掉双引号就不行了,因为legs后面的空格在转换为字符串时就被识别为字符串的末尾。

var duck = {
    "legs num": 4,
    name: "Xiao",
    "color": "black"
}
duck;
>> Object {legs num: 4, name: "Xiao", color: "black"}

对象定义也可以写成一行

var duck = { "legs num": 4, name: "Xiao","color": "black" }

可以定义一个空对象,后面陆续添加键值对。

duck = {}
duck["newName"]="Big";
duck["age"]=33;
duck.color = "white";
duck
>>  Object {newName: "Big", age: 33, color: "white"}

虽然定义时,键可以不加引号,但是访问对象元素时就必须加上引号

duck["legs num"]
4
duck[legs num]
>>  Uncaught SyntaxError: Unexpected identifier
duck[name]
>>  undefined
duck["name"]
>>  "Xiao"

还可以通过点操作符访问对象属性

duck.name
>>  "Xiao"

访问对象所有的键

使用 Object.keys()传入对象参数,返回所有键组成的数组

Object.keys(duck)
>> ["legs num", "name", "color"]

访问对象不存在的属性时,不会报错,会返回undefined

duck.isBrown
>>  undefined
上一篇下一篇

猜你喜欢

热点阅读