Javascript 如何在coffescript中的嵌套函数调用堆栈中将参数设置为全局作用域?

Javascript 如何在coffescript中的嵌套函数调用堆栈中将参数设置为全局作用域?,javascript,function,coffeescript,nested,closures,Javascript,Function,Coffeescript,Nested,Closures,假设我有上面这样的代码(可能有更多的嵌套调用和瘦箭头和胖箭头的混合),我希望能够在func1级别设置一些东西,这样下面的所有函数都可以看到它,而不需要实际将它作为参数传递,并且不必担心瘦箭头或胖箭头。这可能是共同脚本吗?这就像在func1级别(而不是在它上面)设置全局对象一样。类似于Java中的threadlocal func1 = (a) -> (b) => (c) -> (d) =&g

假设我有上面这样的代码(可能有更多的嵌套调用和瘦箭头和胖箭头的混合),我希望能够在func1级别设置一些东西,这样下面的所有函数都可以看到它,而不需要实际将它作为参数传递,并且不必担心瘦箭头或胖箭头。这可能是共同脚本吗?这就像在func1级别(而不是在它上面)设置全局对象一样。类似于Java中的threadlocal

func1 = (a) ->
           (b) =>
               (c) ->
                   (d) => 
func1()()
应该这样做,因为每个级别都返回一个函数对象,因此4()应该这样做。

func1()()应该这样做!
 func1 = (a) ->
             #set something here like say x = 10
             (b) =>
                 (c) ->
                     (d) => print x # should print 10