js高级-对象
程序员文章站
2024-02-01 10:39:22
...
什么是对象
js对象是拥有属性和方法的数据。是多个数据的封装体,用来表示多个数据的容器。一个对象代表现实生活中的一个事物。
为什么要用对象
方便统一管理多个数据。
对象的组成
属性:属性名(本质为字符串)和属性值任意类型()组成
方法:一种特别的属性=>属性值为一个函数
如何访问对象内部数据
.属性名:编码简单,有时不能用
[‘属性名’]:编码复杂,但可通用
var person = {
name : 'Tom',
age : 12,
setName: function (name) {
this.name = name;
},
setAge: function (age) {
this.age = age;
}
};
console.log(person.name); //Tom
console.log(person.age); //12
person.setName('Bob');
person['setAge'](23);
console.log(person.name,person['age']); //Bob 23
问题:什么时候必须用[‘属性名’]的方式访问对象内部数据?
1.属性名包含特殊字符: - ,空格
2.变量名不确定
var p = {};
//给p对象添加一个属性,:content-type:text/json
//p.content-type = 'text/json' //属性名包含特殊字符: - ,空格
p['content-type'] = 'text/json';
console.log(p['content-type']); //text/json
var propName = 'myAge';
var value = 18;
//p.propName = value;
// 变量名不确定,此时的propName相当于去对象里面找到propName,然后赋值,但没有属性名为propName的属性
p[propName] = value; //propName为变量非字符串,故不用‘’
console.log(p[propName]); //18