JS 对象基本用法

声明对象的两种语法

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

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

如何删除对象的属性

delete obj.xxx或delete obj[‘xxx’]

即可删除obj的xxx属性

注意区分

含有属性名,但值为undefined

'xxx' in obj ===undefined

obj.xxx ===undefined

不能断定’xxx’是否为obj的属性
不含属性名

‘xxx’ in obj = = = false

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

查看自身所有属性

Object.keys(obj)

查看key

Object.entries(obj)

查看所有
查看自身+共有属性

console.dir(obj)

或者自己依次用Object.keys打印出obj.proto(不推荐用)
判断一个属性是自身的还是共有的

obj.hasOwnProperty('toString')

看单个属性

obj['name'] (推荐用)

这里的name是字符串

obj.name

这里的name是字符串

obj[name]

这里的name是变量
注:读对象的属性时,
如果使用 [ ] 语法,那么 JS 会先求 [ ] 中表达式的值,注意区分表达式是变量还是常量。
如果使用点语法,那么点后面一定是 string 常量。

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

自身属性

obj['name'] = 'jack'

更改自身属性

Object.assign(obj, {age: 18, gender: 'man'})

批量赋值
共有属性

Object.prototype['toString'] = 'xxx'

改共有属性
隐藏属性

let obj = Object.creat(common)

改原型

‘name’ in obj和obj.hasOwnProperty(‘name’) 的区别
‘name’ in obj可以判断obj对象不含xxx属性
自身属性和共有属性都返回true
obj.hasOwnProperty(‘name’)用来判断一个属性是obj自身的还是共有的
仅仅是自身属性才返回true

延伸

Object.defineProperty()
用于在一个对象上定义新的属性或修改现有属性, 并返回该对象.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值