私はjavascriptを学んでいて、戸惑いました。以下の例があるここの例:-
// define the Person Class
function Person() {}
Person.prototype.walk = function(){
alert ('I am walking!');
};
Person.prototype.sayHello = function(){
alert ('hello');
};
// define the Student class
function Student() {
// Call the parent constructor
Person.call(this);// <---- Confusion
}
// inherit Person
Student.prototype = new Person(); //<---- Confusion
// correct the constructor pointer because it points to Person
Student.prototype.constructor = Student;
// replace the sayHello method
Student.prototype.sayHello = function(){
alert('hi, I am a student');
}
// add sayGoodBye method
Student.prototype.sayGoodBye = function(){
alert('goodBye');
}
var student1 = new Student();
student1.sayHello();
student1.walk();
student1.sayGoodBye();
// check inheritance
alert(student1 instanceof Person); // true
alert(student1 instanceof Student); // true
さて、私は<----
この 2 行で混乱しています ( )。私が言うときPerson.call(this);
、これは単に Person クラスのプロパティを継承することを述べているだけです...そうですか?
じゃあこれは何をしているの?
// inherit Person
Student.prototype = new Person(); //<---- Confusion
私の知る限り、.prototype
すべてのプロパティも継承しますか?