2016-05-13 54 views
-1

許多功能都用於多個文件。所以,我一直在重構我的JS,所以我可以讓一個函數爲所有不同的文件提供服務。我剛接觸JS並閱讀文檔,看起來全局變量在整個應用程序中都可用。如何製作一個特定於該文件的全局變量

如果我創建一個全局變量,比如說Total,那麼在我的應用程序的其他幾個部分中使用這個變量名稱。我不希望在不同的Total之間出現衝突......但是,我確實想要使用一個單一的通用功能calculateTotals()。鑑於它是一個多用戶應用程序,我需要從另一個「隔離」Total的每個實例。我不想訴諸他們所有不同的名字。

那麼 - 如何製作一個特定於單個文件的「全局變量」?

+0

包裝你的文件的'(函數(){'和'})()之間的全部內容;'(一個立即執行的匿名函數),並分配您希望手動對'window'對象全局可見的變量和函數。 – Siguza

+0

檢出模塊模式 – maioman

+0

聽起來像你可能正在尋找一個命名空間 – j08691

回答

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.

相關問題