js对象基本用法

2019-12-09  本文已影响0人  fanison

1.声明对象

var obj = new Object({key:value})
let obj = {key1:value1,key2:value2}

特殊的属性名

变量作属性名

不加 []的属性名会自动变成字符串
加了[]则会当作变量求值

let p1 = 'name'
let obj = {p1:'fanison'}
let obj = {[p1]:'fanison'}

对象的隐藏属性

js中每个对象都有隐藏属性
隐藏属性存储着原型的地址

2.删除属性

delete obj.xxx
delete obj['xxx']

通过使用'xxx' in obj 查看obj是否含有xxx属性,发现obj.xxx = undefined 不能删除属性,只是将属性值xxx设置为undefined

注意:obj.xxx === undefined不能断定‘xxx’为obj的属性;
通过'xxx' in obj 查看obj是否含有xxx属性

3.查看属性

console.log('name')的返回值是 undefined,
obj[console.log('name')]相当于obj["undefined"]

obj.name等价于 obj['name']
obj.name不等于obj[name]

obj.name   //此处name是字符串
obj[name]  //此处name是变量

4.修改属性

无法通过自身修改或增加共有属性
修改或增加原型上属性会引发问题

使用 __proto__ 不推荐
使用Object.create 推荐

不推荐
推荐

'name' in objobj.hasOwnProperty('name')的区别:

上一篇 下一篇

猜你喜欢

热点阅读