Javascript 如何使用Node.js中的模块等原型?
我创建了一个名为helpers的文件夹,并在其中创建了array.js文件 在我的array.js中,我有以下代码:Javascript 如何使用Node.js中的模块等原型?,javascript,node.js,express,prototype,Javascript,Node.js,Express,Prototype,我创建了一个名为helpers的文件夹,并在其中创建了array.js文件 在我的array.js中,我有以下代码: Array.prototype.inArray() { for(var j in this) { if (this[j] === arguments[0]) { return true; } } return false; } 我希望能够像模块一样使用: myArray.inArray(myargument); 但当我尝试时,终端中会出
Array.prototype.inArray() {
for(var j in this) {
if (this[j] === arguments[0]) {
return true;
}
}
return false;
}
我希望能够像模块一样使用:
myArray.inArray(myargument);
但当我尝试时,终端中会出现以下错误:
path.js:360
throw new TypeError('Arguments to path.join must be strings');
^
TypeError: Arguments to path.join must be strings
我做错了什么?我明白这一点
暂时忘记我的问题。。我想知道创建模块之类的原型是否有副作用
谢谢
更新:
我正在尝试使用另一个文件中的原型,名为i18nConf.js:
var self = {
setLanguage: function(language) {
if (global.config.locales.langs.inArray(language)) {
global.lang = require(__dirname + '/' + language);
global.lang.current = language;
} else {
global.lang = require(__dirname + '/' + global.config.site.language);
global.lang.current = global.config.site.language;
}
}
};
module.exports = self;
至少需要一次array.js文件 像
o、 对不起。。我不明白你的问题哈哈。。我将在这里包括完整的代码。您如何要求数组文件您必须在某个地方要求array.js文件函数调用和声明的混合背后是什么?不要使用for…in循环迭代数组。除非完全必要,否则不要使用参数,在这种情况下,您可以声明一个参数。要在数组中查找值,比手动迭代更快。您还可以使用ECMAScript 7中介绍的。
require('pathToArraj.js');