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中文网其他相关文章!