Bootstrap

JavaScript进阶-深入对象


深入对象

创建对象三种方式

  • 利用字面量创建对象
const pig = {
	name:'peiqi'
}
  • 利用new Object创建对象
const pig = new Object({name:'peiqi'})
  • 利用构造函数创建对象

构造函数

构造函数是一种特殊的函数,主要用来初始化对象
使用场景:常规的{…}语法允许创建一个对象。比如我们创建了佩奇的对象,继续创建乔治的对象还需要重新写一遍,此时可以通过构造函数快速创建多个类似的对象
注意:
1.它们的命名以大写字母开头
2.它们只能由“new”操作符来执行
例如:

function Pig(uname,age) {
	this.uname = uname
	this.age = age
}
console.log(new Pig('peiqi',6))

说明:

  1. 使用new关键字调用函数的行为被称为实例化
  2. 实例化构造函数时没有参数时可以省略()
  3. 构造函数内部无需写return,返回值即为新创建的对象
  4. 构造函数内部的return返回的值无效
  5. new Object()、new Date()也是实例化构造函数

实例化执行过程
1.创建新对象
2.构造函数this指向新对象
3.执行构造函数代码,修改this,添加新的属性
4.返回新对象

实例成员&静态成员

实例成员

通过构造函数创建的对象称为实例对象,实例对象中的属性和方法称为实例成员(实例属性和实例方法)
说明:
1.为构造函数传入参数,创建结构相同值不同的对象
2.构造函数创建的实例对象彼此独立互不影响

静态成员

构造函数的属性和方法被称为静态成员(静态属性和静态方法)
说明:
1.静态成员只能构造函数来访问
2.静态方法中的this指向构造函数

;