JavaScript深入对象


深入对象

创建对象的三种方式

  1. 利用字面量创建对象

    const obj = {
      name: 'lily'
    }
    
  2. 利用new Object创建对象

    const obj2 = new Object() // 创建一个空对象
    obj2.name = 'lily'
    console.log(obj2) // { name: 'lily' }
    
  3. 利用构造函数创建对象

利用构造函数创建对象

构造函数是一种特殊的函数,主要用来初始化对象。

使用场景:用来快速创建多个类似的对象。

基本语法

构造函数命名时约定以大写字母开头,它们只能由new操作符来执行。

    function Person(name, age) {
      this.name = name
      this.age = age
    }
    const p = new Person('lily', 18)
    console.log(p) // { name: 'lily', age: 18 }

说明:

  1. 使用new关键字调用函数的行为被称为实例化
  2. 实例化构造函数时没有参数时可以省略 ()
  3. 构造函数内部无需写return,返回值即为新创建的对象
  4. 构造函数内部的return返回的值无效,所以不要写return
  5. new Object()和new Date()也是实例化构造函数
实例化执行过程
  1. 创建新对象
  2. 构造函数this指向新对象
  3. 指向构造函数代码,修改this,添加新的属性
  4. 返回新对象

实例成员和静态成员

实例成员:通过构造函数创建的对象称为实例对象,实例对象中的属性和方法称为实例成员(实例属性和实例方法)。

  • 为构造函数传入参数,创建结构相同但值不同的对象

  • 构造函数创建的实例对象彼此独立互不影响

静态成员:构造函数的属性和方法被称为静态成员(静态属性和静态方法)

  • 静态成员只能构造函数来访问
  • 静态方法中的this指向构造函数
  • 静态成员举例:Date.now()、Math.PI()、Math.random()
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值