JS 对象基本用法

1:声明对象的两种语法

let obj = {name:"Harrient",age:18} //简单写法
let obj2 = new Object({"name":"Jane","age":19}) //正规写法

键名是字符串,键名的引号可以省略,省略之后只能写标识符或者数字

2:如何删除对象的属性

delete obj.xxx 或者 delete obj['xxx']
"age" in obj //false 查看age是否是obj的属性
obj.hasOwnProperty("name") //true "name"是否是obj对象的自身属性

3:如何查看对象的属性

Object.keys(obj)  //查看对象的自身所有属性
console.dir(obj) //查看对象的自身和共有所有属性
obj.__proto__ //查看对象的自身和共有属性,不推荐使用
obj.name //查看属性
obj.['name'] //查看属性

注意:obj.name等同于obj['name'],而obj.name不等价于obj[name],在obj[name]中name是变量,和前两个不同

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

//直接赋值:
let obj = {name:"Harrient"}
obj.name = "Lily"
obj['name' ] = "Lily" 
Object.assign(obj,{name:"张三",address:"北京"}) //批量修改自身的属性
obj.__proto__.toString='yyy' //修改共有属性 ,不推荐使用
Object.prototype.toString='yyy' //修改共有属性
let common = {hair:"black"}
obj.__proto__=common //修改隐藏属性,不推荐使用
let person = Object.create(common ) //修改隐藏属性 

增加同上,已有属性则是修改属性,没有属性则是增加属性

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

'name' in obj //判断对象是否含有"name"属性,但是无法区分"name"是否obj的自身属性还是共有属性
obj.hasOwnProperty('name')  //判断属性是否是对象的自身属性 
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容