您的当前位置:首页正文

构造函数-

2024-11-23 来源:个人技术集锦

学习目标:1. 掌握基于构造函数创建对象,理解实例化过程

                   2.掌握对象数组字符数字等类型的常见属性和方法,便捷完成功能

深入对象

(一)创建对象三种方式

1.利用对象字面量创建对象

const o = {
  name:'佩奇'
}

2.利用new Object创建对象

const o =new Object({name:'佩奇'})
console.log(o) //{name:'佩奇'}

3.利用构造函数创建对象

(二)构造函数

含义:是一种特殊函数,用来初始化对象

使用场景:常规{}创建一次只能创建一个对象,想要创建多个对象可用构造函数来快速创建多个类似对象

(两个约定:命名以大写字母开头,只能由new操作符来实现)

//创建小明的对象
const Ming = {
name:'小明',
age:'6',
gender:'男'
}

//创建爸爸的对象
const Ba = {
name:'baba',
age:38,
gender:'男'
}

//创建妈妈的对象
const Ma = {
name:'mama',
age:36,
gender:'女'
}

//这些对象属性都一样,仅仅是属性值不一样,可以将相同部分抽取出来
function Person(name,age,gender) {
this.name = name //将形参name挂给了name属性
this.age = age
this.gender = gender
}
//创建小明对象
const Ming = new Person('小明',6,'男')

//创建爸爸的对象
const Ba = new Person('爸爸',38,'男')

//创建妈妈的对象
const Ma = new Person('妈妈',36,'女')

//使用new关键字调用函数的行为被称为实例化

1,实例化构造函数时没有参数时可以省略()

2,构造函数内部无需写return,返回值即为新创建的对象

3,new Object() 和 new Date()也是实例化构造函数

(二)实例化执行过程

1.创建新的空对象

2.构造函数this指向新对象

3.执行构造函数代码,修改this,添加新的属性

4.返回新对象

function Goods(name,price,count) {
  this.name = name
  this.price = prce
  this.count = count
}
//构造函数必须调用才会执行
Goods()//函数调用,仅仅是调用了函数,并没有创建对象

new Goods()//函数调用并创建对象,但这对象是空的,this指向这个空对象

new Goods('小米',7800,78) //传入实参给对应形参,添加新的属性

{
name:'小米',
price:7800,
count:78
}

显示全文