构造函数
构造函数:如用函数用来初始化(使用new运算符)一个新建的对象,我们称之为构造函数(constructor)
普通函数
普通函数:不使用new运算符的函数就是普通函数
构造函数 vs 普通函数
从形式上看,
一个函数被作为构造函数还是普通函数执行的唯一区别就是是否使用new
当以new调用构造函数(执行var p = new Person())时,函数内部会发生以下情况:
1.创建一个空对象
2.this变量指向对象p
3.p继承了构造函数Person()的原型
4.执行构造函数Person()内的代码
普通函数和构造函数的区别
1.构造函数使用new关键字调用;普通函数不用new关键字调用;
2.构造函数内部可以使用this关键字;普通函数内部不建议使用this,因为这时候this指向的是window全局对象,这样无意间就会为window添加了一些全局变量或函数
3.构造函数默认不用return返回值;普通函数一般都有return返回值
4.构造函数首字母建议大写;普通函数首字母建议小写