JS基础之对象

118 阅读1分钟

对象

对象是JS中的一种数据类型,且是一种复杂数据类型

如何声明

//方法一
let a ={'name':'zhangsan','age':'18','hobby':'lisi'};

//方法二
let b = new Object({'name':'lisi','age':'18','hobby':'zhangsan'});

注意

对象中的key字符串,就算我们写的时候没写引号它仍然是字符串

删除对象属性

方法

let obj ={
    'name':'zhangsan',
    'age':'lisi'
}
//方法一
obj.name = undefined;

//方法二
delete obj.name;

注意

  • 方法一仅仅是将name的值给删除了,但是没完全删除,它的值会变成undefined,就像游戏中你将角色的名字设置成'',你看不到角色名字,但名字它就在那

  • 方法二是将整个name和对应的值给删除了,此时obj只有age这个键值对

查看对象属性

方法

let obj ={
    'name':'zhangsan',
    'age':'lisi'
}
//查看自身所有的key
Object.keys(obj)
//查看自身所有的value
Object.values(obj)
//查看自身所有的key和value
Object.entries(obj)
//查看自身所有和共有属性
console.dir(obj)
//判断一个属性是共有的还是自身的
obj.hasOwnProperty('属性名')

注意

我们使用'name' in obj也可以查看属性是是否在对象上,但是in不会区分该属性是自身的还是共有的。而obj.hasOwnProperty('属性名')可以判断该属性是对象的自身属性还是共有属性 `

修改或添加

修改与添加非常类似,如果自身有那么就是修改,如果没有再修改的话就是添加

方法

let obj ={
    'name':'zhangsan',
    'age':'18'
}
//修改方法
obj.name ='lisi';
obj['name'] ='wangwu'
//批量修改属性
Object.assign(obj,{name:'wangwu',gender:'male'});

注意

尽量不要修改原型,会出很多问题