Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于客户端和服务器端js(node.js)的Javascript OOP库_Javascript_Oop_Node.js - Fatal编程技术网

用于客户端和服务器端js(node.js)的Javascript OOP库

用于客户端和服务器端js(node.js)的Javascript OOP库,javascript,oop,node.js,Javascript,Oop,Node.js,是否有Javascript OOP库可以以更基于类的方式轻松处理类、内在等,以避免在客户端(浏览器)和服务器(在我的例子中是Node.JS,但通常使用Javascript核心函数,因此无论解释器如何都可以使用)上使用JS的原型OOP 谢谢。库有一个服务器版本 我认为它特别考虑了Node.js 从下载页面: RightJS还可以作为服务器端库提供。在本例中,它只包含本机JavaScript单元扩展和类、观察者、选项单元以及来自Util模块的所有非DOM实用程序函数 我们的服务器端构建遵循Commo

是否有Javascript OOP库可以以更基于类的方式轻松处理类、内在等,以避免在客户端(浏览器)和服务器(在我的例子中是Node.JS,但通常使用Javascript核心函数,因此无论解释器如何都可以使用)上使用JS的原型OOP

谢谢。

库有一个服务器版本

我认为它特别考虑了Node.js

从下载页面:

RightJS还可以作为服务器端库提供。在本例中,它只包含本机JavaScript单元扩展和类、观察者、选项单元以及来自Util模块的所有非DOM实用程序函数

我们的服务器端构建遵循CommonJS原则,可以与node.js框架一起使用


几天前,雅虎前端工程师Dirk Ginader!,告诉我最新版本的node.js可以完美地工作

我还没有证实我自己(不是YUI的超级粉丝),但德克正在雅虎工作!邮件应用程序,其下一版本将(部分)基于node.js。这足以让我相信他知道他在说什么:-)

看看

我3天前刚刚发布。它非常轻量级,有3个函数(一个用于复制属性的mixin函数、一个用于继承的extends函数和一个用于解析参数并使用前两个参数的Cls函数)

这适用于Node.js和浏览器,我已经尽了最大努力对其进行记录和测试

语法示例如下:

var Person = Cls({
  methods: {
    constructor: function(name, age) {
      this.name = name;
      this.age = age;
    },
    present: function(otherDude) {
      return "Hello " + otherDude + " I'm " + this.name + ", my age is: " + this.age;
    }
  },
});

var Student = Cls({
  // extends the Person class
  uber: Person,
  present: function() {
    /**
     * call super function
     * note that this approach works even async (unlike other class libs)
     */
    return this.inherited('present', arguments);
  }
});

/**
 * since the constructor is missing
 * it will call the super constructor automatically
 */
var alex = new Student('Alex', 25);
alex.present();