js高级_93、对象
1 什么是对象
多个数据的封装体,或者说用来保存多个数据的容器,一个对象代表现实中的一个事物
2 为什么要用对象
统一管理多个数据
3 对象的组成
属性:有属性名(字符串)和属性值(任意数据类型)组成
方法:一种特别的属性(属性值是函数)
4 如何访问对象内部数据
①.属性名:编码简单,有时不能用,比如有时使用变量代替属性名时,无法使用这种方法,它会将变量当做对象的属性。
②[‘属性名’]:编码麻烦,能通用
var p = {
name: ‘Tom’,
age: 12,
setName: function (name) {
this.name = name
},
setAge: function (age) {
this.age = age
}
}
p.setName(‘Bob’)
p‘setAge’
console.log(p.name, p[‘age’])
问题: 什么时候必须使用[‘属性名’]的方式?
①属性名包含特殊字符:-或空格
②属性名不确定
var p = {}
//1. 给p对象添加一个属性: content type: text/json
// p.content-type = ‘text/json’ //不能用
p[‘content-type’] = ‘text/json’
console.log(p[‘content-type’])
//2. 属性名不确定
var propName = ‘myAge’
var value = 18
// p.propName = value //不能用
p[propName] = value
console.log(p[propName])