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

How do you write a class in Javascript?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
What's the best way to define a class in javascript

如何用javascript编写类?有可能吗?


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

推荐文章:

  • 面向对象的javascript简介
  • javascript经典继承
  • javascript私有成员
  • 基于类和基于原型的语言

1
2
3
4
5
6
7
function Foo() {
   // constructor
}

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


默认情况下,JavaScript使用基于原型的OO。

但是,如果您使用的是原型库,例如,您可以使用class.create()。

HTTP://TrimeType j.Org/App/Case/Cube

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

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


如果您使用类似于原型库或jquery的库,会更容易,但传统的方法是这样做。

1
2
3
4
5
6
7
function MyClass(){
}
MyClass.prototype.aFunction(){
}

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

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


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

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


这是可能的。原型在用JS编写类方面有一些内置的帮助。看看这个详细的描述,看看你是怎么做到的。

1
2
3
4
5
6
7
8
9
10
var namedClass = Class.create({
    initialize: function(name) {
        this.name = name;
    }

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