Coffeescript-使用函数重新分配上限变量
编译成Coffeescript-使用函数重新分配上限变量,coffeescript,Coffeescript,编译成 fun=-> views = [] views = 123 fun() console.log views 和日志123,而我希望它返回[] 在fun之前声明views将产生所需的结果,但我的代码风格要求我首先声明所有函数,然后分配变量。 在这种情况下可以做什么?特别是我希望coffeescript不产生var视图在javascript内部fun如果您想fun了解外部视图,那么您必须在fun之前定义视图: var fun, views; fun = functio
fun=->
views = []
views = 123
fun()
console.log views
和日志123
,而我希望它返回[]
在
fun
之前声明views
将产生所需的结果,但我的代码风格要求我首先声明所有函数,然后分配变量。在这种情况下可以做什么?特别是我希望coffeescript不产生
var视图代码>在javascript内部fun
如果您想fun
了解外部视图
,那么您必须在fun
之前定义视图
:
var fun, views;
fun = function() {
var views;
return views = [];
};
views = 123;
fun();
console.log(views);
另一种可能——虽然有点复杂——是使用类并将函数和fun函数绑定到类范围
views = 123
fun = ->
views = []
这在某些情况下非常不方便=(其他情况也是如此。也许您应该使用一个类来将函数和变量保持在一起,而不是尝试范围欺骗。
class muchFun
views: 123
fun: =>
@views = []
return
soMuchFun = new muchFun()
console.log( soMuchFun.views )
soMuchFun.fun()
console.log( soMuchFun.views )