CoffeeScript 透過在編譯的 JavaScript 程式碼中自動插入所有變數的 var 語句來防止變數洩漏到全域命名空間中。因此,要在 CoffeeScript 中定義全域變量,需要將它們作為屬性附加到全域物件上。
在瀏覽器中,全域物件是 window 物件。因此,要定義全域變量,您可以編寫:
window.foo = 'baz'
在 Node.js 中,沒有 window 物件。相反,有一個導出物件被傳遞到包裝 Node.js 模組的包裝器中。要在Node.js 中定義全域變量,您可以編寫:
exports.foo = 'baz'
如果您想使用CoffeeScript 程式碼同時針對CommonJS 和瀏覽器,您可以使用以下語法來定義全域變數:
root = exports ? this root.foo = -> 'Hello World'
此語法將檢查導出物件是否存在(這是Node.js),如果是這樣,它將把全域變數指派給exports物件。否則,它將全域變數賦值給 this 物件(即瀏覽器中的 window 物件)。
以上是如何在 CoffeeScript 中定義全域變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!