coffeescript中,如何运用全局变量?

注意到一个变量的出现总被解析成var
那我应该怎样使用全局变量?

阅读 7.3k
4 个回答

coffeescript并非都应用与web开发,所以直接利用winodw来定义全局变量并非一个好的解决方案。
coffee提供了@或者this来表示当前作用域,所以可以利用它来提供全局变量的支持。代码如下:

global = this
func1 = ->
    global.a = 1
func1()
func2 = ->
    console.log global.a
func2()    #1

全局变量以root.attr的形式定义。

其中,root为:

root = global ? window

这样可以同时兼容Node和浏览器环境

这不是一个好实践。

window.global = 'global'

func = ()->
    window.global = 'changed'

首先题目应该改为JavaScript中如何运用全局变量。

下面是定义全局变量'foo'的例子:

(function(win){
    win.foo = 'imAglobalVar';
})(window)
推荐问题
logo
101 新手上路
子站问答
访问
宣传栏