JS构造函数

构造函数是用于创建对象的特殊函数,常用于封装具有相同属性和方法的对象。在JavaScript中,使用new关键字调用的首字母大写的函数即为构造函数。它能避免重复代码,提高效率。例如,通过Star构造函数可以方便地创建多个具有歌唱功能的明星对象,如刘德华和张学友。构造函数与对象的主要区别在于,构造函数是抽象的,代表一类对象,而对象是具体的实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.什么是构造函数

在JavaScript中,用new关键字来调用的函数,称为构造函数。构造函数首字母一般大写。

2.为什么需要构造函数

因为我们一次构建一个对象,里面很多的属性和方法是大量相同的 我们只能复制。

举个例子:

在学构造函数前我们学的两种创建对象的方法一次只能创建一个对象。

<script>
var ldh = {
uname: '刘德华',
age: 55,
sing: function() {
console.log('冰雨');
  }
}
var zxy = {
uname: '张学友',
age: 51,
sing: function() {
console.log('李香兰');
  }
}
</script>

上面是刘德华,张学友,还有郭富城,黎明,难道我们都还要再一一创建吗?

因此我们可以利用函数的方法,重复这些相同的代码,我们就把这个函数称为 构造函数。

又因为这个函数不一样,里面封装的不是普通的代码而是对象。

构造函数就是把我们对象里面一些相同的属性和方法抽象出来封装带函数里面。

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

语法结构

fnction 构造函数() {
this.属性 = 值;
this.方法 = function() {}
}
new 构造函数名()

举个例子

<script>
function Star (uname, age, sex) {
this.name = uname;
this.age = age;
this.sex = sex;
this.sing = function(sang) {
console.log(sang);
  }
}
var ldh = new Star('刘德华',18,'男');//调用函数返回的是一个对象
console.log(ldh.name);
console.log(ldh['age']);
ldh.sing('冰雨);
var zxy = new Star('张学友', 19, '男');
console.log(zxy.name);
console.log(zxy.age);
zxy.sing('李香兰');
</script>

封装构造函数的过程比较麻烦,但一旦封装成功,我们再创建对象就会变得非常轻松,这也是我们为什么要使用构造函数

在使用对象字面量创建一系列同类型的对象时,这些对象具有一些相似的属性和方法,此时会产生很多重复的代码,而使用构造函数就可以实现代码复用。

4.构造函数的注意点

  • 构造函数名首字母需要大写
  • 我们构造函数不需要return 就可以返回值
  • 我们调用构造函数必须使用new
  • 我们只要new Star 调用函数就创建一个对象ldh {}
  • 我们属性和方法前面必须加this

5.构造函数与对象的区别

构造函数,如Star(),抽象了对象的公共部分,封装到了函数里面,他泛指某一大类(class)。

创建对象,如New Star(),特指某一个,通过new关键字创建对象的过程我们称为对象实例化。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值