<script>
var Class1 = function() {
this.name = "class1"; // if define as "var name = 'class1'", then we cannot use Class1.name
this.showNum = function() {
alert(this.name);
};
};
var Class2 = function() {
this.name = "class2";
alert("bf"+this.name); // class2
Class1.call(this);
alert("af"+this.name); // class1
}
var c2 = new Class2();
c2.showNum(); // class1</script>
为什么alert()结果为"class1"? "Class1.call(this);"到底是把谁的指针给谁呢?
求赐教~JavaScriptcall
var Class1 = function() {
this.name = "class1"; // if define as "var name = 'class1'", then we cannot use Class1.name
this.showNum = function() {
alert(this.name);
};
};
var Class2 = function() {
this.name = "class2";
alert("bf"+this.name); // class2
Class1.call(this);
alert("af"+this.name); // class1
}
var c2 = new Class2();
c2.showNum(); // class1</script>
为什么alert()结果为"class1"? "Class1.call(this);"到底是把谁的指针给谁呢?
求赐教~JavaScriptcall
把Class2的实例的指针给Class1方法
//==>等价于指向了下面的代码
/*this.name = "class1";
this.showNum = function () {
alert(this.name);
};*/
this.name = "class1"; // if define as "var name = 'class1'", then we cannot use Class1.name
this.showNum = function() {
alert(this.name);
};
};这里面的this就是c2了