我正在尝试理解JavaScript中的继承。我正在使用原型将子类链接到它的父级。但是一旦我定义了这个关系,父类的构造函数就会开始运行。
<script type="text/javascript">
function Person ()
{
window.alert('We\'ve got a new person!');
}
function King ()
{
window.alert('We\'ve got a new king!');
}
King.prototype = new Person();
//King.prototype.constructor = King;
//var erik = new King();
</script>
在JavaScript中使用继承的正确方法是什么?
引发混淆的教程:https://developer.mozilla.org/en-US/docs/JavaScript/Introduction_to_Object-Oriented_JavaScript
答案 0 :(得分:1)
那是因为Javascript是一种原型语言,并不能以这种方式真正支持继承。它的对象是松散类型,可以在运行时使用额外的功能和属性进行扩展。
所以你真正做的是创建一个Person的instance
,然后可以使用额外的方法进行扩展。
tuturial说:
在JavaScript中,您可以通过分配父类的实例来完成此操作 到了儿童班,然后把它专门化。
如果你习惯了真实的(好的,基于类的)OO,那就太混乱了。