我们创建的每个函数都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象,而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法。使用原型对象的好处是可以让所有对象实例共享它所包含的属性和方法。换句话说,不必在构造函数中定义对象实例的信息,而是可以将这些信息直接添加到原型对象中,如下面的例子所示
1 function Person() { 2 3 } 4 5 Person.prototype.name = "Jeff"; 6 Person.prototype.age = 22; 7 Person.prototype.job = "Software Engineer"; 8 Person.prototype.sayName = function() { 9 alert(this.name); 10 } 11 12 var person1 = new Person(); 13 person1.sayName(); // "Jeff" 14 15 var person2 = new Person(); 16 person2.sayName(); // "Jeff" 17 18 alert(person1.name == person2.name); // true