JS 的构造函数和普通函数

因为ES6之前,javascript没有class类,于是便有了构造函数。

有人举了一个例子来解释构造函数 ,我觉得蛮贴切的就在这里引用一下,有人想要造一千个金币,并且要每个金币上面刻有不同的编号,最简单的方法就是,造一个金币的模子,然后再各自刻各自的编号, 构造函数就是这个金币的模子,你每次new一下,就是造一个金币。

1、构造函数在创建时,建议首字母大写。普通函数首字母建议小写。

2、构造函数和普通函数的调用方法不同,构造函数需要用new关键字调用。

3、构造函数内部可以使用this关键字,在构造函数内部this指向的是构造出来的新对象。普通函数内部不建议使用this关键字,普通函数内部的this会指向window对象(可能会造成window全局变量或函数的变化)。

4、构造函数一般不需要return返回值,默认构造的对象。普通函数一般需要return内容,不然会报undefined。如果构造函数使用的return,那么返回值会根据return的类型改变。

构造函数使用new关键字以后,会发生以下步骤:

var p = new Person()

1var p = {}
2、Preson.call(p)
3、p._proto_ = Person.prototype
4、执行构造函数 Person 的代码
5、返回 p
原文地址:https://www.cnblogs.com/panic404/p/14136276.html