构造函数内部原理
1.在函数体最前面隐式的加上 this = { }; (没有显式的创建对象)
2.执行 this.xxx = xxx ; (直接将属性和方法赋给了this对象)
3.隐式的返回 this (没有return语句)
构造函数可以用来创建特定类型的对象。注意:像Object这样的原生构造函数,在运行时会自动出现在执行环境中。
上面的绿色的括号语句是红宝石书上的原句,我用式子给大家形象的表达了出来。
构造函数的注意点:构造函数始终以一个大写字母开头,而非构造函数应该以一个小写字母开头。
红宝石课本实例:
<script type="text/javascript">
function Person(name,age,job){
this.name = name;
this.age = age;
this.job= job;
this.sayName = function(){
alert(this.name);
};
}
var person1 = new Person("Tom",29,"teacher");
var person2 = new Person("Grey",29,"doctor");
alert(person1.constructor == Person); //true
alert(person1.constructor == Person); //true
</script>
person1和person2分别保存着Person的一个不同的实例。这两个对象都有一个constructor(构造函数)属性,该属性指向Person.