五.引用类型 -Object

56 阅读1分钟

使用new操作符后跟Object构造函数

var person = new Object()
person.name = "Nicholas"
person.age = 29

另一种方式是使用对象字面量表示法。

var person = {
    name:'Nicholas',
    age:29
}

在使用对象字面量语法时,属性名也可以使用字符串,如下面这个例子所示。

var person ={
    "name":"Nicholas",
    "age":29,
    5:true
}

使用对象字面量语法时,如果留空其花括号,则可以定义只包含默认属性和方法的对象,如下所示

var person = {}
person.name = "Nicholas"
person.age = 29

对象字面量也是向函数传递大量可选参数的首选方式,

function displayInfo(args){
    var output = ""
    if(typeof args.name == "string"){
        output += "Name :" + args.name + "\n"
    }
    if(typeof args.age  == 'number'){
        output += "Age: " + args.age + "\n"
    }
    console.log(output)
}
displayInfo({
    name:'Nicholas',
    age:29
})
displayInfo({
    name:'Greg'
})

一般来说,访问对象属性时使用的都是点表示法,这也是很多面向对象语言中通用的语法。不过, 在 JavaScript 也可以使用方括号表示法来访问对象的属性。在使用方括号语法时,应该将要访问的属性 以字符串的形式放在方括号中,

console.log(person["name"]) // Nicholas
console.log(person.name) // Nicholas

但方括号语法的主要优点是可以通过变量来访问属性

var propertyName = 'name'
console.log(person[propertyName]) //Nicholas

如果属性名中包含会导致语法错误的字符,或者属性名使用的是关键字或保留字,也可以使用方括号表示法。

var propertry = person["first name"] = "Nicholas";
console.log(propertry)