数据类型-对象 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

上一篇下一篇

猜你喜欢

热点阅读