我在下面的代碼中做了什麼錯誤?如何聲明和訪問全局變量
//File1.js
var arr = [];
function insertName {
var name = "josh";
arr.push(name);
return name;
};
function validName(key) {
var index = arr.indexOf(key);
if (index == -1) {
return false;
} else {
return true;
}
}
var result = insertname();
exports.arr = arr;
exports.validName = validName;
//File2.js
var file1 = require("./File1.js");
var name = "josh";
var verify = file1.validName(name);
if(verify) {
cosnole.log("Valid name");
}else {
console.log("Error");
}
node File1.js
node File2.js
時,即時通訊執行File2.js,林剛開未定義ARR []。有人可以幫我做什麼我在下面的代碼中做什麼
在瀏覽器中,頂級範圍是全局範圍。這意味着在瀏覽器中,如果你在全局範圍內,var的東西將定義一個全局變量。在Node中,這是不同的。頂級範圍不是全球範圍; var模塊內的某些東西對本模塊來說是本地的。 - http://nodejs.org/api/globals.html – elclanrs
'validName'不會神奇地進入'file1'作爲屬性;你必須導出它。 –
這是所有的代碼還是有更多的未張貼?我將你的代碼複製到文件中(修復了幾個語法錯誤),然後運行它到nodejs命令提示符並運行它的文件。 – Ballbin