LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

JavaScript进阶,人人都能懂的构造函数

admin
2025年7月3日 7:56 本文热度 100

1. 什么是构造函数?

构造函数︰是一种特殊的函数,主要用来初始化对象,即为对象成员变量赋初始值,它总与new运算符一起使用。我们可以把对象中一些公共的属性和方法抽取出来,然后封装到这个函数里面。

语法:

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

注意如下小细节:

1.构造函数名字首字母要大写

2.我们构造函数不需要return就可以返回结果,如果没有显式返回对象,则默认返回新对象。

3.我们调用构造函数必须使用new

如创建一个构造函数:我们只要new Star()调用函数就创建一个对象

// 构造函数function Star(uname, age, sex) {this.name = uname;this.age = age;this.sex = sex;}// 对象var ldh = new Star('刘德华'18,'男'); var zxy = new Star('张学友'19'男'); console.log(zxy.name); console.log(zxy.age);

2. 构造函数和对象的区别

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

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

3. new关键字执行过程

1,new构造函数可以在内存中创建了一个空的对象

2. this就会指向刚才创建的空对乌

3.执行构造函数里面的代码给这个空对象添加属性和方法

4.返回这个对象

4. 遍历对象

for (var k in obj) {console.log(k); // k变量输出得到的是属性名console.log(obj[k]);// obj[k]得到是属性值}

5. prototype 属性

每个构造函数都有一个 prototype 属性,指向该构造函数创建的对象的原型对象。通过 prototype,我们可以为所有由该构造函数创建的对象共享一些通用的方法或属性。

function Person(name, age) {  this.name = name;  this.age = age;}
Person.prototype.greet = function() {  console.log(`Hello, my name is ${this.name}.`);};
const person1 = new Person('Alice'25);const person2 = new Person('Bob'30);
person1.greet();  // 输出: Hello, my name is Alice.person2.greet();  // 输出: Hello, my name is Bob.

通过将 greet 方法添加到 Person 的 prototype,我们可以让所有由 Person 构造函数创建的对象共享这个方法,从而节省内存和优化性能。

6. 构造函数的继承

在 JavaScript 中,继承是面向对象编程的重要组成部分。通过继承,子类可以复用父类的属性和方法。构造函数继承的常用方法是通过 call 或 apply 来调用父类构造函数。

1. 使用 call 继承

通过 call 方法,我们可以在子类构造函数中调用父类构造函数,从而继承父类的属性。

function Animal(type) {  this.type = type;}
function Dog(name) {  Animal.call(this'dog');  // 调用父类构造函数  this.name = name;}
const dog1 = new Dog('Rex');console.log(dog1.type);  // 输出: dogconsole.log(dog1.name);  // 输出: Rex

2. 使用 Object.create 实现原型继承

为了继承父类的方法,可以使用 Object.create 将子类的原型设置为父类的实例。

Dog.prototype = Object.create(Animal.prototype);Dog.prototype.constructor = Dog;
Dog.prototype.bark = function() {  console.log('Woof!');};
const dog2 = new Dog('Buddy');dog2.bark();  // 输出: Woof!

通过这种方式,Dog 类不仅继承了 Animal 的属性,还可以扩展自己的方法。

总结

JavaScript 中的构造函数提供了一种强大而灵活的方式来创建对象。通过理解构造函数的工作原理、原型链、继承机制等,开发者可以更加高效地组织代码,提升应用的可扩展性和维护性。在实际开发中,合理使用构造函数可以帮助你创建模块化、易于维护的代码结构,从而提高项目的整体质量。 


阅读原文:原文链接


该文章在 2025/7/3 14:24:28 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved