JS 对象基本用法

132 阅读1分钟

对象的定义

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自身的还是共有的