JS 对象基本用法

128 阅读1分钟

对象的声明

  • 第一种写法
let obj = {
    'name': 'aaa',
    'age': 18
}
  • 第二种写法
let obj = new Object({
    'name': 'aaa',
    'age': 18
})
  • 注意点:键名是字符串,引号省略了以后也是字符串

对象属性删除操作

  • 第一种方式
let obj = new Object({
    'name': 'aaa',
    'age': 18
})
// 注意,这种写法name没有加引号
delete obj.name;
  • 第二种方式
let obj = new Object({
    'name': 'aaa',
    'age': 18
})
// 注意,这种写法name要加引号
delete obj['name'];

对象属性查看操作

  • 查看所有属性
let obj = new Object({
    'name': 'aaa',
    'age': 18
})
// 查看自身所有属性
Object.keys(obj);
// 查看自身属性+公共属性(__proto__)
console.dir(obj);
// 判断一个属性是自身的还是共有的
obj.hasOwnProperty('toString');
  • 查看单个属性
let obj = new Object({
    'name': 'aaa',
    'age': 18
})
// 第一种
obj.name;
// 第二种
obj['name']

对象属性新增和修改

  • 单个属性修改
let obj = new Object({
    'name': 'aaa',
    'age': 18
})
// 第一种
obj.name = 'fredman';
// 第二种
obj['name'] = 'fredman';
  • 批量属性修改
let obj = new Object({
    'name': 'aaa',
    'age': 18
})
Object.assign(obj, {'a': 1, 'b': '2'});

修改/增加共有属性

不推荐,不要学,也别改

'name' in obj和obj.hasOwnProperty('name') 的区别

  • in语句会查询自身属性+共有属性
  • hasOwnProperty只查询自身属性