Javascript中类似Python的"类"

ter*_*cia 4 javascript python class

我想知道如何在Javascript中制作类似于Python中的"类".获取此处列出的Python类和函数:

class one:
    def foo(bar):
        # some code
Run Code Online (Sandbox Code Playgroud)

函数"foo"将被调用one.foo(bar).
JS等价物是什么?我怀疑它会是这样的:

var one = {
    foo: function(bar) {
        // JavaScript
    }
};
Run Code Online (Sandbox Code Playgroud)

谢谢.

Arn*_*anc 9

在Javascript中创建类的本机方法是首先定义构造函数:

function MyClass() {
}
Run Code Online (Sandbox Code Playgroud)

和原型:

MyClass.prototype = {
    property: 1,
    foo: function(bar) {
    }
};
Run Code Online (Sandbox Code Playgroud)

然后你可以创建MyClass的实例:

var object = new MyClass;
object.foo();
Run Code Online (Sandbox Code Playgroud)

添加静态方法:

MyClass.staticMethod = function() {};

MyClass.staticMethod();
Run Code Online (Sandbox Code Playgroud)

扩展MyClass:

function SubClass() {
}
SubClass.prototype = new MyClass;
SubClass.prototype.bar = function() {
};

var object = new SubClass;
object.foo();
object.bar();
Run Code Online (Sandbox Code Playgroud)


Ach*_*him 6

看看这个链接.有一种不同的方法在Javascript中进行OO编程.细节太多了,无法在此解释.

如果您认真对待Javascript编程,那么您应该阅读本书.

如果你想做真正的重型OO编程,我建议你看一下Coffee Script.


ick*_*fay 6

Classy是一个JavaScript库,它试图将类似Python的类带入JavaScript.