Tag: new operator

为什么nodejs不能inheritance浏览器js

我有两个构造函数,子从父inheritance一些方法和属性,它只是这样的东西 function foo(){ this.bar="baz"; } function fubar(){ this.qux="zubar"; } fubar.prototype=new foo(); fubar.prototype.constructor=fubar; module.exports.fubar=fubar; 里面的文件inheritance工作正常,但是当它被导出不能达到父母的元素我已经尝试util.inherits以及结果是相同的

如何在node.js中使用new运算符?

让我们有一个file.js这个代码: module.exports.func = function(txt) { this.a = 1; this.b = 2; console.log(txt, this); return this; } 现在我们有另一个JS文件,我们在这里做: var r1 = new (require('./file')).func('r1'); var r2 = new require('./file').func('r2'); 在r1的情况下,它按预期工作 – r1包含对新创build的对象的引用。 在r2的情况下,它不起作用 – r2从file.js中获取对module.exports的引用。 目的是通过调用func()构造函数来创build一个新的对象。 当然,我也可以这样做,这等于r1: var r3 = require('./file'); var r4 = new r3.func('r1'); 不过,我不明白为什么r2的行为与r1不一样。 如何额外的括号要求('./文件')有所作为?