js对象基本用法

136 阅读1分钟

声明对象的两种语法

let obj = {'name': 'dsplk','age': 18}   //写法1
let obj = new Object({'name':'dsplk'})
  • 对象由键值对构成,其中,键名是字符串,键名是字符串,键名是字符串!
  • 键名中,引号可以省略,省略了键名也是字符串
  • 一些特殊的属性名:1e2-->100, 0xFF-->255
  • 变量也可以用作属性名,例如

let p1 = 'name';
let obj1 = {
    p1 : 'dsplk'    //属性名为'p1'字符串
}
let obj2 ={
    [p1] : 'dsplk'     //属性名为'name'字符串
}
let obj3 ={
    ['p1'] : 'dsplk'    //属性名为'p1'字符串
}

       添加[]会进行变量求值

如何删除对象属性

delete obj.name
delete obj['name']    //删除属性全部删掉

obj.name = undefined   //删除属性的值
  • 判断对象是否存在该属性

'name' in obj  //false

  •   判断一个属性是不是共有的属性

obj.hasOwnProperty('name') //false

如何查看对象属性

Object.keys(obj)    //查看obj对象的自身属性
console.dir(obj)    //查看obj对象的自身属性和共有属性
obj['name']          //name为字符串
obj.name             //name为字符串
obj[name]            //name为变量

Object.values(obj)    //查看obj对象的属性值   
Object.entries(obj)   //查看obj对象的所有键值对

如何修改或者增加对象的属性

//改自身
obj['name'] = 'jack'
 

//批量改自身
Object.assign(obj,{age:18,gender:male,...})