Articles of oop

ES6类中的constr.apply(this,args)

我已经使用下面的函数来创build一些未知类的实例: Kernel.prototype._construct = function (constr, args) { function F() { constr.apply(this, args); // EXCEPTION! } F.prototype = constr.prototype; return new F(); }; 如果我使用原型,一切正常: function Person(name, surname) { this.name = name; this.surname = surname; } var person = Kernel._construct(Person, ["name", "surname"]); // WORKS! 但是,有些人正在使用节点v4 +中使用ES6本机类的库: class Person { constructor(name, surname) { this.name = name; this.surname = […]

node.js – 直接从require创build类的实例

我在一个单独的文件中有一堂课。 我需要在另一个文件中创build它的一个实例。 我试过这个: var connection = new require('./connection.js')("ef66143e996d"); 但是这不是我想要的。 现在我正在使用这个临时解决scheme: var Connection = require('./connection.js'); connection = new Connection("ef66143e996d"); 两个问题; 首先,为什么不这样做。 其次,我怎样才能做到这一点呢?

使用导出对象导出对象

假设我有一个包含JavaScript对象的.js文件。 我想能够从同一个目录中的另一个.js文件访问该对象及其所有function。 我可以简单地导出这个对象与module.exports对象,并require()它在其他.js文件? 如果这是可能的,你能给我一个例子吗? 如果有帮助,我正在开发与节点。

理解javascriptinheritance和node.js utilinheritance函数的例子

我有两个模块: apirequest.js和feed.js。 当我在apirequest中调用feed.start()时, TypeError: Object #<Feed> has no method 'start' 。 为什么是这样? 不是util.inherits(Feed, APIRequest); inheritanceAPIRequest的属性? apirequest.js var EventEmitter = require('events').EventEmitter; var util = require('util'); function APIRequest(endpoint) { } APIRequest.prototype.start = function() { } util.inherits(APIRequest, EventEmitter); module.exports = APIRequest; feed.js var util = require('util'); var APIRequest = require('../lib/api_request'); function Feed(endpoint) { APIRequest.call(this, endpoint); } util.inherits(Feed, APIRequest); […]

正在试图模仿一个接口/抽象类在JavaScript不好的做法

我正在编写Node.js中的一些代码,这些代码跳出我的视线,使用战略模式更好地构build。 来自.Net我会创build其他基于的界面,并从那里移动,在JavaScript中这不是很清楚。 我理解为一个典型的语言JavaScript没有接口inheritance的概念,所以我不知道我做了什么是一种气味,因为我似乎无法find引用,除了一个博客文章,试图推断一个接口通过使用强制inheritance类来实现函数的基本抽象类(当它抛出时)。 我的基类 QueryStrategy = function () { }; QueryStrategy.prototype.create = function(){ throw new Error("Not Implemented"); } module.exports = QueryStrategy; 实施1 var util = require('util'); var QueryStrategy = require('./queryStrategy'); SelectQueryStrategy = function (query) { this.parameters = query.parameters || []; this.entity = query.entity || ''; }; util.inherits(SelectQueryStrategy, QueryStrategy); SelectQueryStrategy.prototype.create = function () { var self […]

使用Node.js在Javascript中进行OOP编程

我实际上在用Javascript做一个小游戏,我想实现我在http://www.crockford.com/javascript/inheritance.html上find的东西,它类似于: ZParenizor.method('toString', function () { if (this.getValue()) { return this.uber('toString'); } return "-0-"; }); 我无法find图书馆用于使这种发展成为可能的任何参考。 有任何想法吗? 否则,我正在寻找一个好的图书馆,这将有助于我的面向对象的开发。 谢谢 编辑: 我正在寻找Node.js的OOP解决scheme/库。 请注意,我是Node.js的新手

es6从同一个类中调用类方法

我想在我的类中调用一个类方法,如下面的例子所示。 import blah from './blaha'; export default class myclass{ constructor(con) { this.config = con; } async meth1(paramA) { //do_stuff… } meth2(paramB) { //attempt to call meth1() } } 我想从使用es6类样式的不同方法中调用一个方法。

在Express和Node.js中,是否可以扩展或覆盖响应对象的方法?

通过每个中间件,Express传递一个res和一个req对象。 这些对象分别扩展来自http.ServerResponse和http.ClientRequest的本地对象。 我想知道是否有可能重写或扩展响应对象的方法。 例如,而不是res.render('home', jsonData); ,我想用一个名为customRender的自定义方法来扩展res ,并像这样使用它: res.customRender() 。 我没有被困在一个特定的问题或任何东西。 我只想学习如何扩展本地对象,或者像本例一样,来自Node.js中第三方模块的对象

节点类似numpy的包

在我开发Python的几年中,如果你设法重写通过你的ndarray执行代码并执行某些操作的代码,那么一旦在整个数组上工作的numpy函数,我总是惊讶于事情会变得多快。 最近我越来越多地转向节点,我正在寻找类似的东西。 到目前为止,我已经发现了一些东西,没有一个看起来很有希望: scikit-node ,在Python中运行scikit-learn,并与节点连接。 我没有尝试过,但我不期望它能给我带来我想要的最高速度。 有一些相当老,更新的JavaScriptmatrix库( sylvester , gl-matrix ,…)。 除了不确定它们是否适用于大于4×4的matrix(这在3D渲染中最有用),它们似乎是原生的JavaScript(有些不确定这些是否使用了webGL加速)。 伟大的浏览器,而不是节点上。 据我所知,npms可以用C ++编写,所以我想知道为什么没有节点的类似numpy的库。 对社会来说,还有没有足够的兴趣,需要这种权力? 有没有希望ES6function(列表parsing)将允许JavaScript编译器自动将本机JS代码vector化到C ++的速度? 我可能错过了别的? 编辑 ,以回应票选:注意,我不是要求“什么是最好的包xyz做”。 我只是想知道是否有技术上的原因,在节点上没有包裹,社会原因,没有理由,只有一个我错过了一个包。 也许是为了避免太多自以为是的批评,我想知道:我有大约10000个100×100的matrix。 什么是最好的(*更正,一个合理的快速)的方式来加在一起? Edit2经过更多的挖掘,原来我正在search错误的东西。 谷歌的“node.js科学计算”,并有一些非常有趣的笔记链接: https://cs.stackexchange.com/questions/1693/a-faster-leaner-javascript-for-scientific-computing-what-features-should-i-kee http://www.quora.com/Can-Node-js-handle-numerical-computation-the-same-way-that-languages-like-R-or-Julia-can Javascript和科学处理? 基本上就我所知,目前还没有人打扰。 而且,由于js TypedArrays中有一些重大的遗漏(比如64位整数),使用NPMs可能很难增加良好的支持,而且不会破坏引擎本身 – 这是会导致失败的。 再次,我没有进一步研究这最后的声明。