构造函数与普通函数的区别构造函数内部会创建一个新的对象默认返回新对象构造函数默认返回新创建的对象
构造函数与普通函数的区别
构造函数其实也是一种特殊的普通函数,它们的创建方式和普通函数一样,不过习惯上构造函数的首字母会大写。
构造函数的特点
- 使用
new关键字调用。比如:new xiaoyu( ) - 构造函数内部会创建一个新的对象,也就是xiaoyu的实例。
- 函数内部的
this指向新创建的xiaoyu的实例。 - 默认的返回值是xiaoyu的实例。
普通函数的特点
- 直接调用,比如:
xiaoyu( ) - 在调用函数的内部不会创建新的对象。
- 函数内部的
this指向调用函数的对象(如果没有对象调用,默认是window)。 - 返回值由
return语句决定。
构造函数与普通函数的不同点
| 特点 | 构造函数 | 普通函数 |
|---|---|---|
| 创建方式 | 与普通函数一样,首字母大写 | 与普通函数一样 |
| 调用方式 | 使用new关键字 | 直接调用 |
| 作用 | 用来新建实例对象 | 执行特定的功能 |
延伸阅读:JavaScript的构造函数
JavaScript的构造函数主要用于初始化新创建的对象,让它们具有相同的属性和方法。构造函数通常以大写字母开头,以区别于普通函数。
- 使用
new关键字调用。 - 创建新对象:构造函数创建时,JavaScript会创建一个新的空对象,并让
this指向这个新对象,然后将构造函数中定义的属性和方法添加到这个新对象上。 - 可接受参数:构造函数可以接受参数,并使用这些参数来初始化新对象的属性。
- 默认返回新对象:构造函数默认返回新创建的对象。但如果构造函数返回的是非空的对象,那么这个对象会作为整个表达式的值返回,而不是新对象。