CoffeeScript 缺少 var 语句,会自动将其包含在变量中,从而防止泄漏到全局命名空间。要有目的地访问此命名空间,必须将变量定义为全局对象的属性。
附加到浏览器中的 window
在浏览器中,全局对象是 window 。因此,要分配属性,您可以使用如下语法:
window.foo = 'baz';
在 Node.js 中管理全局变量
Node.js 没有专用的窗口对象。相反,它具有导出,该导出被传递到包装的模块中。因此,对于 Node.js,分配变为:
exports.foo = 'baz';
同时针对 CommonJS 和浏览器
CoffeeScript 文档建议使用以下内容:
root = exports ? this
这会检查是否已定义导出(在 Node.js 中为 true),如果存在则将其分配给 root。否则,它会将其分配给 root(在浏览器中为 true)。
调用函数
在 CoffeeScript 中,您可以编写:
root.foo = -> 'Hello World'
这将在全局命名空间中声明函数 foo,无论环境如何。
以上是如何在 Node.js 和浏览器的 CoffeeScript 中管理全局变量?的详细内容。更多信息请关注PHP中文网其他相关文章!