1

我试图理解 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

4

1 回答 1

1

那是因为 Javascript 是一种原型语言,并不真正支持这种方式的继承。它的对象是松散类型,可以通过额外的功能和属性即时扩展。

因此,您实际上要做的是创建一个instancePerson,然后可以使用额外的方法对其进行扩展。

该教程指出:

在 JavaScript 中,您通过将父类的实例分配给子类,然后对其进行专门化来做到这一点。

如果您习惯于真正的(好吧,基于类的)OO,那会相当混乱。

于 2012-08-31T21:07:34.680 回答