数据类型-对象 Object-属性操作

读取属性值

  • 使用点.运算符

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容