以下代码展示了用构造函数(构造器)模拟类的两种方法:
function c1() { this.p1 = 1; this.p2 = function() { console.log(this.p1); } } var o1 = new c1; o1.p2(); function c2() { } c2.prototype.p1 = 1; c2.prototype.p2 = function() { console.log(this.p1); } var o2 = new c2; o2.p2();
第一种方法是直接在构造器中修改this,给this添加属性。
第二种方法是修改构造器的 prototype 属性指向的对象,它是从这个构造器构造出来的所有对象的原型。