js: 构造函数

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指向新的实例。

原文地址:https://www.cnblogs.com/ycherry/p/7344424.html