《JavaScript入门--对象基本用法》

1. 声明对象的两种语法

第一种:

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

第二种:

let obj = new Object({'name' : 'hhh' , 'age' : 18})

name 和 age 是属性名,而对应的是属性值。

虽然两种写法效果是一样的,但是官方是推荐第二种写法的,不过人们常用的却是第一种,因为写起来方便。

2. 删除对象的属性

语法:delete obj.xxx 或 delete obj[‘xxx’]

判断是否真正删除掉了属性可以使用如下语句:

‘xxx’ in obj == false

3. 如何查看对象的属性

想明白如何查看对象属性首先要知道原形的概念,原形是一个在内存中的对象,它里面存储着所有对象共有的属性,例如 toString、constructor、valueOf 等等。

每个对象都保存着原形对象的内存地址,这样就可以继承原形中的各种属性,例如 obj._proto_就存着原形对象的地址。

因为原形本身也是对象,所以它也会有_proto_ 属性,但是这个属性为Null。

3.1 查看对象所有属性:

所以,查看对象属性的方式有下面几种:

  • Object.keys(obj) 查看自身所有属性。
  • console.dir(obj) 查看自身和共有属性。
  • obj.hasOwnProperty(‘toString’) 判断一个属性是自身的还是共有的。

3.2 根据名称查看对象属性

  • 中括号语法:obj[‘key’]
  • 点语法:obj.key

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

例如:

obj.name = 'hhh'

执行上面语句,如果 obj 没有 name 属性那么将增加 name 属性并赋值 hhh ,如果原本就有 name 这个属性,那么将值赋给 name 属性。

4.1 单个赋值

  • let obj = { name: ‘hhh’}
  • obj.name = ‘hhh’
  • obj[‘name’] = ‘hhh’
  • obj[‘na’ + ‘me’] = ‘hhh’
  • let key = ‘name’ , obj[key] = ‘hhh’

4.2 批量赋值

Object.assign(obj, {name: ‘hhh’, age: 666})

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

第一种是判断 name 这个属性名是否在 obj 这个对象中,但是并不能区分是在对象本身,还是在原形中。

第二种可以判断属性是否在对象本身。不会判断原形中是否存在。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值