如何用Javascript编写类?

如何用Javascript编写类?,javascript,class,Javascript,Class,可能重复: 如何用Javascript编写类?甚至可能吗?Javascript默认使用基于原型的OO 但是,如果您使用的是prototype库,例如,您可以使用Class.create() 它将允许您创建(或继承)一个类,然后您将使用新的实例实例化它的实例 其他图书馆可能也有类似的设施。这在某种程度上是可能的。在用JS编写类方面有一些内置帮助。看看你是如何做到这一点的 function Foo() { // constructor } Foo.prototype.bar = func

可能重复:


如何用Javascript编写类?甚至可能吗?

Javascript默认使用基于原型的OO

但是,如果您使用的是prototype库,例如,您可以使用Class.create()

它将允许您创建(或继承)一个类,然后您将使用新的实例实例化它的实例

其他图书馆可能也有类似的设施。

这在某种程度上是可能的。在用JS编写类方面有一些内置帮助。看看你是如何做到这一点的

function Foo() {
   // constructor
}

Foo.prototype.bar = function() {
    // bar function within foo
}
var namedClass = Class.create({
    initialize: function(name) {
        this.name = name;
    }

    getName: function() {
        return this.name;
    }
});
var instance = new namedClass('Foobar');

JavaScript基于对象,而不是类。它使用原型继承,而不是经典继承


JavaScript具有可塑性,易于扩展。因此,有许多库为JavaScript添加了经典的固有特性。但是,使用它们可能会导致编写大多数JavaScript程序员难以遵循的代码。

如果使用prototype或jQuery之类的库,那么编写代码会容易得多,但传统的方法就是这样做

function MyClass(){
}
MyClass.prototype.aFunction(){ 
}

var instance = new MyClass();
instance.aFunction();

您可以在这里阅读更多内容

好吧,JavaScript是一种基于原型的语言,它没有类,但您可以通过对象克隆和原型化拥有经典继承和其他行为重用模式

推荐文章:


有些是这样。jQuery不会,因为它希望您更可能处理jQuery集合而不是classes.Ack。“javascript”被编辑成“javascript”而不是“javascript”。我更喜欢javascript。这是正确的方法。我认为您在
栏的开头有一个额外的“功能”
:-)是 啊另外,别忘了提到你必须使用new Foo()。哎呀,我不习惯写javascript oo。