JS 对象基本用法

89 阅读1分钟

第一:声明对象的两种用法

let obj = {'name': 'frank','age': 18}

let obj = new Object({'name': 'frank'})

第二:如何删除对象的属性

obj.name(属性名)=undefinded(含有属性名,值为undefinded);

delete obj.name或者 delete obj'name'

查看属性名是否还在:‘name’ in obj ;false和ture

第三:如何查看对象的属性(读属性)

Object.keys(obj):查看key

Object.values(obj) :查看值

Object.entries(obj):查看属性名和属性值

查看自身属性和公有属性:console.dir(obj); 

判断自身属性还是公有属性:obj.hasOwnProperty("tostring")

看单个属性

  • obj['name'] (推荐用)

    • 这里的name是字符串
  • obj.name

    • 这里的name是字符串
  • obj[name]

    • 这里的name是变量

注:读对象的属性时,

如果使用 [ ] 语法,那么 JS 会先求 [ ] 中表达式的值,注意区分表达式是变量还是常量。
如果使用点语法,那么点后面一定是 string 常量。

第四:如何修改或增加对象的属性(写)

(1)直接赋值 obj.xxx='值'; 或者 obj['xxx']='值' 

(2)批量赋值 Object.assign(obj, {age: 18, gender: 'man'})

(3)改共有属性:Object.prototype['toString'] = 'xxx'

(4)改原型:let obj = Object.creat(common)

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

(1)'name' in obj ---判断obj对象是否包含该属性

(2)obj.hasOwnProperty('name')---用来判断一个属性是obj自身的还是共有的,仅仅是自身属性才返回true.