怪我咯2017-04-10 13:13:26
coffeescript并非都应用与web开发,所以直接利用winodw来定义全局变量并非一个好的解决方案。
coffee提供了@
或者this
来表示当前作用域,所以可以利用它来提供全局变量的支持。代码如下:
global = this
func1 = ->
global.a = 1
func1()
func2 = ->
console.log global.a
func2() #1
巴扎黑2017-04-10 13:13:26
全局变量以root.attr
的形式定义。
其中,root
为:
root = global ? window
这样可以同时兼容Node和浏览器环境
大家讲道理2017-04-10 13:13:26
这不是一个好实践。
window.global = 'global'
func = ()->
window.global = 'changed'
迷茫2017-04-10 13:13:26
首先题目应该改为JavaScript中如何运用全局变量。
下面是定义全局变量'foo'的例子:
(function(win){
win.foo = 'imAglobalVar';
})(window)