许多功能用于多个文件。所以,我一直在重构我的JS,所以我可以为所有不同的文件提供单一功能服务。我是JS的新手并且阅读文档看起来全局变量在整个应用程序中都可用。
如果我创建了一个全局变量,比如说Total
,那么我的应用的其他几个部分就会使用此变量名称。我不希望不同的Total
之间存在冲突......但是,我确实希望使用单个共同函数calculateTotals()
。鉴于它是一个多用户应用程序,我需要将Total
的每个实例与另一个实例“隔离”。我不想诉诸于他们所有不同的名字。
那么 - 我如何制作一个特定于单个文件的“全局变量”?
答案 0 :(得分:5)
您可以使用IIFE将变量范围限制在您的文件中。
(function() {
var total = 10; // only exists in this file
console.log(total); // returns 10
})();
console.log(total); // Uncaught ReferenceError: total is not defined
如果您在Node.js中工作,则无需使用IIFE。 module system automatically does this for you这不是你需要担心的事情。
要了解有关JavaScript范围的更多信息,请参阅var
docs on MDN.