数据类型-对象 Object-属性操作
2016-09-18 本文已影响408人
素弥
读取属性值
-
使用点
.
运算符
var person = {
'name': 'Sumi',
}
person.name //Sumi 等同于person['name']
> 注意:数值类键名不能用点运算符来获取,因为会被当做小数点来处理
* ####使用方括号`[]`运算符
如果属性命名不符合标识符命名规则,就只能用方括号`[]`来获取
> 注意:
1.在使用方括号运算符时,方括号内的键名一定要在引号内
2.数值类键名要用方括号运算符来获取,使用时可以不加引号,因为它是数字开头,不会被当做变量来处理,会被当做字符串来处理
```javascript
var person = {
'girl-friend' :'null';
12: abc;
}
person['girl-friend'] //null 标识符不符合变量命名规则,所以这里要用[]来获取,且键名必须被放在引号内
person[12] //abc 等同于person['12']
//数值类键名可以不加引号,因为会被当做字符串来处理
修改属性值
获取属性值后直接进行赋值操作就可以修改属性值
var person = {
'name': 'Sumi',
'age': '21',
};
person.age = 25; //使用点运算符
person['age'] = 25; //使用方括号运算符
查看对象所有属性 Object.keys()
-
用法
Object.keys(对象名)
-
返回值
包含该对象所有键名的数组
var obj = {
key1: 1;
key2: 2;
}
Object.keys(obj); //['key1','key2']
添加属性
属性可以动态添加进对象中,不需要在声明变量时就将其写进去
var obj = {};
var obj.add = 123;
//上面的代码相当于
var obj = {add: 123};
删除属性
-
用法
使用delete
命令来删除属性 delete 变量名.键名
-
返回值
删除成功后返回true
var obj = {
key1: 1;
key2: 2;
}zl
Object.keys(obj) //['key1','key2']
delete key1 //true
obj.key1 //undefined
Object.keys(obj) //['key2']
上面代码中,首先查看所有的属性,会返回一个数组['key1','key2']
然后删除key1属性,返回true
使用点运算符获取key1时会出现undefined、
再次查看所有属性,只剩下了key2