在 CoffeeScript 中,缺少专用的 var 语句意味着所有变量都隐式声明为局部变量。这可以防止在编译为 JavaScript 期间无意中泄漏到全局命名空间。
要定义全局变量,您需要将它们作为属性分配给全局对象。
在浏览器中,全局对象是window对象。要创建名为 foo 的全局变量,您可以编写:
window.foo = 'baz'
在 Node.js 中,全局对象不能用作 window 。相反,您应该将全局变量分配给导出对象:
exports.foo = 'baz'
CoffeeScript 文档建议使用 root 变量根据是否导出来确定适当的全局对象已定义(Node.js 中的情况)或未定义(这意味着浏览器环境):
root = exports ? this root.foo = 'baz'
这个三元表达式如果定义了导出,则将根分配给导出,否则分配给此(Node.js 中的全局上下文或浏览器中的窗口)。
root = exports ? this root.foo = -> 'Hello World'
此代码在 Node.js(通过导出)或浏览器(通过 window)全局对象中声明一个名为 foo 的全局函数。
以上是如何在 CoffeeScript 中定义全局变量?的详细内容。更多信息请关注PHP中文网其他相关文章!