JavaScript构造函数

本文详细阐述了JavaScript构造函数的概念、如何利用构造函数批量创建对象,以及其实现过程。重点讲解了构造函数的执行流程和返回值,帮助理解代码复用在对象管理中的重要性。

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

JavaScript构造函数
1、什么是构造函数
构造函数就是一个普通的函数,创建方式和普通函数没有区别,区别在于调用方式的不同,普通函数是直接调用,而构造函数是用 new 关键字来调用;构造函数首字母一般大写。

2、构造函数应用例如,我们现在要录入 20 级所有同学的信息,那么我们可以创建一些对象,如下:
1.var student1 = {name:“Eason”,age:16,sex:“男”,hobby:“basketball”}
2.var student2 = {name:“Edison”,age:17,sex:“男”,hobby:“football”} 3. var student3 = {name:“lisa”,age:18,sex:“女”,hobby:“dance”}
4.var student4 = {name:“momokou”,age:16,sex:“女”,hobby:“singing”}

像上面这样,我们可以把每一位同学的信息当做一个对象来处理。但是,我们会发现,我们重复地写了很多无意义的代码。比如 name、age、sex、hobby 。如果这个班上有 60 个学生,我们得重复写 60 遍。
这个时候,构造函数的优势就体现出来了。我们发现,虽然每位同学都有 name、age、sex、 hobby 这些属性, 但它们都是不同的,那我们就把这些属性当做构造函数的参数传递进去。。此时,我们就可以构造以下的函数:(函数体内的 this 就是新创建的对象)
在这里插入图片描述

使用 new 关键字调用,也就是通过构造函数来创建对象

1.//创建对象
2.var student1 = new Student(“Eason”,16,“男”,“basketball”);
3.var student2 = new Student(“Edison”,17,“男”,“football”); 4. var student3 = new
Student(“lisa”,18,“女”,“dance”);
5.var student4 = new Student(“momokou”,16,“女”,“singing”);
6.console.log(student1); 7. student1.sayHello();
在使用对象字面量创建一系列同一类型的对象时,这些对象可能具有一些相似的特征(属性)和行为(方法),此时会产生很多重复的代码,而使用构造函数就可以实现代码复用。
3、构造函数执行过程当一个函数创建好以后,我们并不知道它是不是构造函数,即使像上面的例子一样,函数
名为大写,我们也不能确定。只有当一个函数以 new 关键字来调用的时候,我们才能说它是一个构造函数。
构造函数会有以下几个执行过程:
➢当以 new 关键字调用时,会创建一个新的内存空间(标记为 Student 的实例)
➢函数体中的 this 指向该内存
➢执行函数体内的代码(给 this 添加属性,相当于给实例添加属性)
➢默认返回 this(相当于默认返回该内存空间)
4、构造函数的返回值
(1)没有手动添加返回值,默认返回 this
(2)手动添加一个基础数据类型的返回值,最终还是返回 this
在这里插入图片描述

如果以上为一个普通函数的调用,则返回 18
(3)手动添加一个复杂数据类型(对象)的返回值,最终返回该对象
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值