加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

new运算符与构造函数分析

发布时间:2023-03-10 08:39:36 所属栏目:教程 来源:
导读:当一个函数被 new 运算符调用的时候,这个函数就会被称为构造函数。

任何函数都能被 new 运算符调用,但是一般会从设计上将一个函数考虑为构造函数,提供给 new 运算符调用。

function Human(name, gender) {
当一个函数被 new 运算符调用的时候,这个函数就会被称为构造函数。

任何函数都能被 new 运算符调用,但是一般会从设计上将一个函数考虑为构造函数,提供给 new 运算符调用。

function Human(name, gender) {
  this.name = name;
  this.gender = gender;
}
var human = new Human();
1. 构造函数的作用
构造函数的主要作用是用于生成对象。

有其他面向对象语言开发经验的同学可能会觉得使用 new 运算符的语法和创建类的示例很像,其实本质是不一样的。

结合原型的特性,在 JavaScript 中也能实现类似于类的一套机制。

关于构造函数和原型的处理关系,原型章节已经有详细介绍,具体内容可以参考原型章节。

2. new 运算符的运算机制
使用 new 运算符调用函数的时,背后有一套运行机制,这套机制说明了构造函数是怎么产生对象的。

当 new 运算符调用函数时,大致会进行以下几个操作:

创建一个空对象
将函数的this指向这个空对象
执行函数
如果函数没有指定返回值,则直接返回 this(一开始创建的空对象),否则返回指定返回值
function Person(name, gender, age) {
  this.name = name;
  this.gender = gender;
  this.age = age;
}
var person = new Person('小明', '男', );
console.log(person.name);
这样就能理解为什么使用 new 操作符可以生成对象了。
 

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章