你是如何用Javascript编写一个类的?

时间:2009-05-29 19:12:08

标签: javascript class

  

可能重复:
  What's the best way to define a class in javascript

你如何用Javascript编写一个类?它甚至可能吗?

6 个答案:

答案 0 :(得分:7)

嗯,JavaScript是一种基于Prototype的语言,它没有类,但你可以通过对象克隆和原型设计获得经典继承和其他行为重用模式。

推荐文章:

答案 1 :(得分:3)

function Foo() {
   // constructor
}

Foo.prototype.bar = function() {
    // bar function within foo
}

答案 2 :(得分:2)

Javascript默认使用基于原型的OO。

但是,例如,如果您正在使用原型库,则可以使用Class.create()。

http://prototypejs.org/api/class/create

它可以让你创建(或继承)一个类,然后用新的实例化它的实例。

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

答案 3 :(得分:1)

如果你使用像prototype或jQuery这样的库,它会更容易,但传统方法就是这样做。

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

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

您可以在此处阅读更多信息http://www.komodomedia.com/blog/2008/09/javascript-classes-for-n00bs/

答案 4 :(得分:0)

这有点“可能”。 Prototype有一些在JS中编写类的内置帮助。看看this thorough description如何做到这一点。

var namedClass = Class.create({
    initialize: function(name) {
        this.name = name;
    }

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

答案 5 :(得分:0)

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

JavaScript具有可塑性且易于扩展。因此,有许多库为JavaScript添加了经典的插入。但是,通过使用它们,您可能会面临编写大多数JavaScript程序员难以遵循的代码的风险。