1 声明对象的两种语法
//第一种
const person1 = {
name : '张三',
age: 18
}
//第二种
const person2 = new Object({
name : '李四',
age: 20
});
2 如何删除对象的属性
let obj = {
name: "lin",
age: 18,
};
delete obj.name //删除obj的key,将这个属性删除
//注意,JS中BUG很多例如重复删除不会报错!
delete obj['name'] //同样是删除obj的key,将这个属性删除
//如何查询这个键是否删除成功?
'name' in obj //true是存在, false是不存在(删除成功)
obj.age = undefined //将obj的key对应的值设置成空.
3 如何查看对象的属性
-
Object.keys(obj)
查看对象自身所有的属性.
-
console.dir(obj)
查看自身以及原型共有属性.
3.1 查看对象的某个属性
obj['key']
obj.key
-
obj [key]
(key在这时候是一个变量)
3.2 obj[name]
和 obj['name']
不同,
-
obj[name]
里面的name是一个变量.
-
obj['name']===obj.name
(这时候的name是一个字符串)
4 如何修改或增加对象的属性
- 如果对象有某个属性,再赋值就是修改属性.
- 如果对象没有某个属性,赋值就是增加属性.
let obj = { name: "lin" };
obj.name = '123' //修改属性
obj['name'] = '456' //修改属性
obj.age =18 //增加属性
obj['city']='bj' //增加属性
5 'name' in obj和obj.hasOwnProperty('name') 的区别
-
obj.hasOwnProperty('toString')
判断一个属性是自身的还是共有的
-
'toString' in obj
判断一个属性是否是对象的,不会判断自身还是共有的.
网友评论