区别 调用的方式不同
构造函数 :new xx()
普通函数 : 不加 new
构造函数的 执行过程 :
1: new 的时候 在推内存立刻创建一个新的对象
2 : 将创建的对象设置为函数中的this,在构造函数中使用this来引用新建的对象
3 :逐行执行函数中对代码
4 :将新建的对象作为返回值返回 默认 :return this
function Person(name) {
this.name = name ;
this.sayName = function() {
alert(this.name);
}
}
var person = new Person('aa');
//使用同一个构造函数创建的对象,我们称为一类对象,称构造函数称为一个类
//构造出的函数称为该类的实例
//使用instanceof 可以检查一个对象是否为一个类的实例
console.log(person instanceof Person) --->true
this 的情况
1: 当以函数的形式调用的时候,this指向window
2:当以方法的形式调用,谁调用this就指向谁
3:当以构造函数的形势调用时,this指向当前被创建的对象