如何在 CoffeeScript 中定義全域變數?
您的 CoffeeScript 程式碼編譯為 JavaScript,無需 var 語句,自動將所有變數插入到防止洩漏到全域名稱空間。要有意定義全域變量,必須將它們指定為全域物件的屬性。
瀏覽器中的「將它們作為屬性附加到視窗」
瀏覽器的全域物件是窗戶。要定義全域變量,請使用:
window.foo = 'baz';
Node.js
Node.js 缺少 window 物件。相反,它有一個導出物件傳遞到封裝模組的包裝器中。對於Node.js,請使用:
exports.foo = 'baz';
同時針對CommonJS 和瀏覽器
CoffeeScript 文件建議使用以下程式碼針對CommonJS 和瀏覽器:
CoffeeScript 文件建議使用以下程式碼來針對CommonJS 和瀏覽器:root = exports ? this這會檢查是否定義了導出(Node.js),如果為true,則將其指派給 root,否則指派瀏覽器的全域物件(視窗)。 在 Node.js 中,您可以直接指派給導出對象,該物件由 require 函數傳回。但是,在 CoffeeScript 中,使用以下內容定義全域函數:
root = exports ? this root.foo = -> 'Hello World'這會將函數 foo 指派給全域命名空間,無論您是在瀏覽器中還是使用 Node.js。
以上是如何在 CoffeeScript 中定義全域變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!