1.js构造函数特点
js的构造函数,看下面的代码:
function Proson(name, age, job){ this.name = name; this.age = age; this.job = job; this.sayName = function(){ console.log(this.name);} } var p1 = new Person('Jundy',15, 'AD'); var p2 = new Person('Sunny',25,'Student');
从上面可以看出:
(1)没有显示地创建对象
(2)直接将属性和方法赋给了this对象
(3)没有return语句
(4)函数名首字母是大写的
(5)创建新的实例必须使用new关键字
2.构造函数实例化步骤(new关键字的作用)
创建实例经历的4个步骤:
(1)创建一个新的对象
(2)将构造函数的作用域赋值给新的对象(即this指向新的对象)
(3)执行构造函数中的代码(为新的对象添加属性)
(4)返回新的对象
3.构造函数与普通函数的区别
构造函数和普通函数的区别在于其调用方式,构造函数的调用需要用new操作符。如果不用new,那么构造函数和普通函数没什么区别。如果没有用new操作符来调用构造函数,则函数中的this是指向window即全局作用域。若是用new操作符调用,则this指向新的实例。