构造函数内部原理

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.