如何创建仅针对该文件的全局变量

时间:2016-05-13 20:06:00

标签: javascript scope

许多功能用于多个文件。所以,我一直在重构我的JS,所以我可以为所有不同的文件提供单一功能服务。我是JS的新手并且阅读文档看起来全局变量在整个应用程序中都可用。

如果我创建了一个全局变量,比如说Total,那么我的应用的其他几个部分就会使用此变量名称。我不希望不同的Total之间存在冲突......但是,我确实希望使用单个共同函数calculateTotals()。鉴于它是一个多用户应用程序,我需要将Total的每个实例与另一个实例“隔离”。我不想诉诸于他们所有不同的名字。

那么 - 我如何制作一个特定于单个文件的“全局变量”?

1 个答案:

答案 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.