JavaScript基础—对象

在JavaScript中有8种数据类型(7种基本数据类型和1种复杂数据类型),其中Object(对象)是复杂数据类型。

一、创建对象

创建对象有两种方式:
1、构造函数的方式
let user = new Object()
2、字面量方式
let user = {}
使用字面量的方式创建对象就是将一些属性以键值对的形式放到{}中。

    let user = {
        name: 'zhang',  // 键"name", 值"zhang"
        age: 29         // 键"age", 值29
    }

二、访问对象属性值

可以使用点符号访问对象属性值:

    console.log(user.name);  // zhang
    console.log(user.age);   // 29

如果对象的属性名为多字词语,点操作就不能用了

    let user = {
        name: 'zhang',  
        age: 29,    
        'my habit':'run'
    }
	// 提示语法错误
    console.log(user.my habit)

另一种方式就是使用方括号,可用于任何字符串:

console.log(user['my habit'])  // run

这里注意方括号中的字符串要放在引号中,单引号或双引号都可以。
方括号还提供了一种可以通过表达式来获取属性名的方法

   let key = 'my habit'
   console.log(user[key])   // run

三、"in"操作符

"in"操作符可以检查属性是否存在,存在返回true,不存在返回false

 console.log('name' in user)  // true
 console.log('gender' in user) // false

四、"for…in"循环

使用"for…in"可以遍历一个对象的所有键

   for(let key in user){
        console.log(key)       // name、age、my habit  
        console.log(user[key]) // zhang、29、run
    }

五、Object.assign()

Object.assign(dest,[src1,src2,src3…])
第一个参数dest是目标对象
后面的参数src1,src2,src3…是源对象
该方法是将所有源对象的属性拷贝到目标对象dest中。换句话说,从第二个开始的所有参数的属性都被拷贝到第一个参数的对象中。
结果返回dest

我们可以用它来合并多个对象:

  let user = {
        name: 'zhang',  
        age: 29,         
        'my habit':'run'
    }
  let person1 = {gender: 'men'}
  let person2 = {address: 'zhengzhou'}
  console.log(Object.assign(user,person1,person2))
 // user = {name: "zhang", age: 29, my habit: "run", gender: "men", address: "zhengzhou"}

如果被拷贝的属性的属性名已经存在,那么它会被覆盖:

  let user = {
        name: 'zhang',  
        age: 29,         
        'my habit':'run'
    }
 Object.assign(user,{name:'li'})
 console.log(user.name)  // li
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值