【发布时间】:2014-11-09 08:07:18
【问题描述】:
给定以下代码:
outer=1
f=->
local=1
outer=0
local+outer
coffeescript 为local 创建一个var,但重新使用outer:
var f, outer;
outer = 1;
f = function() {
var local;
local = 1;
outer = 0;
return local + outer;
};
这是您的期望。
但是,如果您在函数中使用局部变量,则该变量是否声明为局部变量取决于外部范围。我知道这是一个特性,但它导致了一些错误,因为我必须检查所有外部范围是否有同名的变量(在我的函数之前声明)。我想知道是否有一种方法可以通过将变量声明为本地来防止这种类型的错误?
【问题讨论】:
标签: coffeescript