JavaScript наследуется от прототипа - PullRequest
4 голосов
/ 10 сентября 2011

Мне интересно, в чем разница между inheritFrom и прототипом при определении наследования в Javascript.

function classA{}
classA.name="abc";
classA.functionName=function(){
alert("Function Name Alert");
}
function classB{ }

Какая разница в приведенных ниже кодах?

classB.prototype=classA();

и

classB.prototype.inheritFrom(classA);

1 Ответ

6 голосов
/ 10 сентября 2011

B.prototype.inheritFrom(A) не является стандартным JavaScript, тогда как B.prototype = new A является стандартным JavaScript.Я предлагаю изучить все тонкости JavaScript и использовать прототип.Тебе будет лучше узнать это.Это действительно не так уж сложно:

function A(){}
function B(){}
B.prototype = new A;
b = new B;
console.log(b instanceof B, b instanceof A);
//-> true, true
...