JS对象基本用法
声明对象的两种语法
|
|
- 键名必须是字符串,引号大部分时候可以省略(空格和中文时不可省)
- 就算引号省略了,字符串还是字符串
- 第2种是标准的写法,但大多数时候下用第1种即可
如何删除对象的属性
|
|
- 可以删除’name’这个属性
- obj.xxx===undefined 不能判断xxx是不是obj的属性,也有可能有这个属性但是未定义
如何查看对象的属性
Object.keys(obj)
查看obj的属性有哪些console.dir(obj)
查看obj的属性及属性值obj['name']
obj.name
注意这里的name是字符串obj[name]
注意这里的name是变量
如何修改或增加对象的属性
- 直接赋值
|
|
- 批量赋值
|
|
- 无法通过自身来修改原型,一般不要修改原型(可以obj.proto.toString = ‘xxx’,但不要这么做,容易混乱)
|
|
- 以common为原型创造person
- person的原型就是common,但是common有原型__proto__
’name’ in obj和obj.hasOwnProperty(’name’) 的区别
|
|
- false说明不含该属性,true说明含该属性
- 可以看共有属性是否含有(区别)
|
|
- 可以查看是否含有自身的属性(不包括共有属性),这里的false说明toString是共有属性