构造函数和普通函数的区别就是调用方式的不同
普通函数是直接调用,而构造函数需要使用new
关键字来调用
- 创建一个新的对象
- 将新的对象作为函数的上下文对象(this)
- 执行函数中的代码
- 将新建的对象返回
以下示例可以看出, 调用构造函数直接生成 this
才能调用构造函数的变量。
function Person(name , age , gender){
//2. 将新的对象作为函数的上下文对象(this)
this.name = name;
this.age = age;
this.gender = gender;
this.sayName = function(){
alert(this.name);
};
//3. 执行函数中的代码
}
var per = new Person("啊Q",58,"男");//1. 创建一个新的对象
//4.最后得到结果返回给 new Person -> per