JS 对象基本用法

1.声明对象的两种语法

let obj = {'name':'jack','age':'18'}
let obj = new Object({'name':'ma'});
复制代码

一般都写第一种,第二种是正规的写法

{}这叫做对象字面量,new Object()则是使用构造器函数

对象字面量的声明方式比构造器函数更加方便

所以在JS中建议以对象字面量的声明方式优先

2.如何删除对象的属性

delete obj.name或者 delete.obj['name']
复制代码

3.如何查看对象的属性

查看对象所有属性:

查看自身所有属性:Object.keys(obj);
查看自身属性+共有属性:console.dir(obj);

也可以用Object.keys(obj),obj.__proto__依次打印出自身属性+共有属性
复制代码

查看对象某一个属性:

let obj = {'name':'jack','age':'18'}
正常查看方式:obj.name或者obj['name'],这里的name指的是字符串

obj[name]查看的的不是obj对象里面的name而是 let name = 'lucy' 中的变量名name,这里的name指的是变量,obj[name]等价于obj['lucy']
复制代码

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

let obj = {'name':'jack','age':'18'}
修改自身属性方式:obj['name'] = lucy或者obj.name = lucy
批量修改自身属性方式:Object.assign(obj,{'name':'lucy','age':'20'})
修改共有属性方式:obj.__proto__['toString'] = 'xxx' 或者Object.prototype['toString'] = 'xxx',如果要改推荐使用第二种
修改原型:obj.__proto__ = common或者let obj = Object.create(common),如果要改推荐使用第二种
所有porto的代码都是不建议修改的,会出问题

添加属性:同修改一样,如果没有则直接添加一个新的属性
复制代码

5.’name’ in obj和obj.hasOwnProperty(‘name’) 的区别

‘name’ in obj检测自身及其原型是否有这个属性存在

obj.hasOwnProperty(‘name’)检测是自身独特的属性还是共有属性

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享