function SuperType(){
this.colors = ["red","blue","green"];
}function SubType(){
SuperType.call(this);
}var instance1 = new SubType();
instance1.colors.push("black");
alert(instance1.colors);上面是书上讲解 借用构造函数 的例子。程序里SubType构造函数中的call(this)有什么用,去掉可以吗?去掉后,实例化instance1过程中,调用的SuperType函数中的this指向哪里?
SuperType.call(this);
这行代码的作用是,继承父类构造函数中的属性,在这里就是给子类添加colors属性。这个不难理解,去了解一下call方法的作用就行了。
意思是调用 SuperType,让SuperType的 this 指向 SubType实例