Articles of 构造函数

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"); 两个问题; 首先,为什么不这样做。 其次,我怎样才能做到这一点呢?

NodeJS – 如何在自执行函数中将构造函数分配给module.exports?

我试图在NodeJS中的一个自我执行的函数中分配一个构造函数。 我很确定它不工作,因为我的参数是一个variables指向module.exports,但我很好奇,如果有办法让它工作,尽可能接近自执行的格式。 这是如何调用代码… var TemplateEngine = require('./templateEngine'); templateEngine = new TemplateEngine({engine: 'swig'}); // "object is not a function" 这是一个很好的例子 var assert = require('assert'); var swig = require('swig'); // Constructor var TemplateEngine = function(args) { assert.ok(args.engine, 'engine is required'); var templateEngine = {}; templateEngine.engine = args.engine; templateEngine.Render = function(templateString, model) { var result = swig.render(templateString, model); […]