对象的定义
JavaScript 对象是拥有属性和方法的数据,它可以是无序的数据集合,也可以是键值对的集合。
1.声明对象的两种语法:
示例:
let obj = { 'sex' : 'male','height': 180} //简略写法
let obj = new Object{ 'sex' : 'male','height':180} //规范写法
console.log({ 'sex' : 'male', 'height': 180}) //该语句创建的对象没有名字
其中,'sex'和'height'名是字符串,不是标识符,它可以是任何字符; 键名的引号可以省略,但是引号省略之后只能写成标识符或者数字;
2.删除对象的属性
delete obj.xxx
//或者
delete obj['xxx']
即可删除obj对象的xxx属性。
3.如何查看对象的属性
1.查看自身属性
Object.keys(obj)
2. 查看自身属性和共有属性
console.dir(obj)
3. 判断一个属性是自身的还是共有的
obj.hasOwnProperty('xxx')
//true: 'xxx'为自身属性
//false: 'xxx'为共有属性或者无'xxx'属性
4. 'name' in obj和obj.hasOwnProperty('name')的区别
'name' in obj //可以访问到共有属性
obj.hasOwnProperty('name') //不能访问到共有属性
4.如何修改或增加对象的属性
1. 直接赋值
let obj = {name: 'qwxying'} //name是字符串
obj.name = 'qwxying' //name是字符串
obj['name'] = 'qwxying'
let key = 'name'; obj[key] = 'qwxying'
2. 批量赋值
Object.assign(obj, {
age:18,
sex: 'male',
xxx: 'yyy'
})
5. 'name' in obj和obj.hasOwnProperty('name') 的区别
'name' in obj//可以判断obj对象不含xxx属性
obj.hasOwnProperty('name')//用来判断一个属性是obj自身的还是共有的