JavaScript中的函数可以当做一个类的构造函数来使用,也就是使用new关键字。
使用new关键字来调用函数时,会执行如下的操作:
1.创建一个全新的对象; 2.这个新对象会被执行prototype连接; 3.这个新对象会绑定到函数调用的this上(this的绑定在这个步骤完成); 4.如果函数没有返回其他对象,表达式会返回这个新对象
function Person(name, age) {
this.name = name
this.age = age
}
var p1 = new Person("why", 18)
console.log(p1.name, p1.age) // 输出:why 18
var p2 = new Person("kobe", 30)
我们通过一个new关键字调用一个函数时(构造器),这个时候this是在调用这个构造器时创建出来的对象
this=创建出来的对象
这个绑定过程就是new绑定