对象
对象是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'});
注意
尽量不要修改原型,会出很多问题