fun=->
views = []
views = 123
fun()
console.log views
编译为
var fun, views;
fun = function() {
var views;
return views = [];
};
views = 123;
fun();
console.log(views);
并记录123
,而我希望它返回[]
在 views
之前声明fun
会产生所需的结果,但我的代码样式要求我首先声明所有函数然后分配变量。
在这种情况下可以做些什么?特别是我希望coffeescript不在var views;
内的javascript中生成fun
。
答案 0 :(得分:1)
另一种可能性 - 虽然更复杂一点 - 就是使用一个类并将函数和fun函数绑定到类范围。
class muchFun
views: 123
fun: =>
@views = []
return
soMuchFun = new muchFun()
console.log( soMuchFun.views )
soMuchFun.fun()
console.log( soMuchFun.views )
答案 1 :(得分:0)
如果您希望fun
了解外部views
,则必须在views
之前定义fun
:
views = 123
fun = ->
views = []