gpt4 book ai didi

javascript - JS 实现类似 "extends"的功能(非常简单的继承)

转载 作者:数据小太阳 更新时间:2023-10-29 06:02:26 26 4
gpt4 key购买 nike

假设我在 JS 中有一个带有原型(prototype)函数的类...

function Foo() {
this.stuff = 7;
this.otherStuff = 5;
}

Foo.prototype.doSomething = function() { };

Foo.prototype.doSomethingElse = function() { };

现在说我想通过子类化来“扩展”这个类。在 Java 中,这看起来像...

public class Bar extends Foo {}

现在我知道在 JS 中真的没有类的概念,一切都可以改变,这一切都归结为一堆废话字典,但尽管如此,我应该能够复制一个类的原型(prototype)并将其附加到另一个原型(prototype),对吧?

在 vanilla JS 中,类似的代码会是什么样子?

最佳答案

其中一种方式如下,

function Foo() {
this.stuff = 7;
this.otherStuff = 5;
}
Foo.prototype.doSomething = function() { alert("some"); };

Foo.prototype.doSomethingElse = function() { };

function Bar() {
Foo.call(this); // this line
}
Bar.prototype = Object.create(Foo.prototype);

var b = new Bar();
b.doSomething();

关于javascript - JS 实现类似 "extends"的功能(非常简单的继承),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17691573/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com