js笔记五之对象(object)类型

对象数据类型 object

var obj = {name:"lilei",age: 18}
每一个对象都是由零到多组 属性名(key键):属性值(value值) 组成的,或者说由多组键值对组成的,每一组键值对中间用逗号分隔

属性: 描述这个对象特点特征的

对象的属性名是字符串或者数字格式的,存储的属性值可以是任何数据类型

操作属性

获取属性

对象名.属性名 // 忽略了属性名的单双引号
对象名['属性名']

var obj = {name:"lilei",age:18,0:100}

// -> 获取某个属性名对应的属性值
obj.name // -> "lilei"
obj['name'] // -> "lilei"

// -> 如果属性名是数字怎么操作
obj.0 // -> 语法不支持
obj[0] 或 obj['0'] // -> 两种都支持  -> 100

// -> 如果操作的属性名在对象中不存在,获取的结果是 undefined
obj.sex // -> undefined

增加/修改

一个对象的属性名是不能重复的(唯一性)
如果之前存在就是修改属性值的操作
如果不存在就是新设置(增加)属性的操作

var obj = {name:"lilei",age:18}

// -> 增加/修改 -> 
obj.sex = "man"; // 增加了属性名sex,并赋值为man
obj['age'] = 19; // 修改了属性名age,并赋了新值19

删除属性

假删除: 让其属性值赋值为null,但是属性还在对象中

obj.sex = null;

真删除: 把整个属性在整个对象中暴力移除

delete obj.sex;

思考题: obj[age]和obj['age']有什么区别?

你可能感兴趣的:(js笔记五之对象(object)类型)