簡體   English   中英

從另一個 CoffeeScript 文件訪問變量?

[英]Accessing variables from another CoffeeScript file?

在不污染全局命名空間的情況下,在匿名 function 之外獲取變量的最佳做法是什么?

多種可能性:

  • 創建一個適當名稱范圍的公共訪問器 function 以按需獲取值。
  • 將值傳遞給需要它的函數
  • 將私有訪問器 function 傳遞給其他模塊
  • 將變量放在名稱范圍適當的全局變量中
  • 將“數據對象”傳遞給其中包含該值的另一個模塊(以及其他值)

哪個最有意義取決於您需要共享多少數據,需要共享多廣泛,共享是否是雙向的,等等......

以對全局命名空間污染影響最小的方式公開全局數據的典型設計模式是執行以下操作:

var JF = JF || {};  // create single global object (if it doesn't already exist)
JF.getMyData = function() {return(xxx);};   // define accessor function
JF.myPublicData = ...;

然后,在您的應用程序中的任何位置,您都可以調用JF.getMyData(); 或訪問JF.myPublicData

這里的想法是所有公共方法(甚至數據對象)都可以掛在 JF object 上,因此全局空間中只有一個新項目。 其他一切都在那個 object 里面。

沿着這些方向有幾個 CoffeeScript 問題:

以及其他幾個特定於環境的。 如果您通過具體示例發布了更詳細的問題,我可以提供更具體的答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM