如何理解';定义为';和';声明';在Javascript变量声明中?
我无法理解chrome控制台中的错误信息,第一个错误是“let”声明的变量在分配之前不可访问,但是下面的错误意味着“标识符“val”已声明”和“val未定义”如何。无法使用我的变量“val” 按顺序: 1.)是由于您在声明“val”(就在下面一行)之前在REPL中执行“console.log(val)”。再订购这两条线,你会很好的 2.)实际上是您已经在上面的行中声明“val”的副作用 3/4.)在执行“val=456”之前,必须先执行“var val” 这些问题大多是由于变量的声明方式造成的。让我们将它们弹出到您的REPLs全局范围中,这会使它变得更加混乱如何理解';定义为';和';声明';在Javascript变量声明中?,javascript,variables,Javascript,Variables,我无法理解chrome控制台中的错误信息,第一个错误是“let”声明的变量在分配之前不可访问,但是下面的错误意味着“标识符“val”已声明”和“val未定义”如何。无法使用我的变量“val” 按顺序: 1.)是由于您在声明“val”(就在下面一行)之前在REPL中执行“console.log(val)”。再订购这两条线,你会很好的 2.)实际上是您已经在上面的行中声明“val”的副作用 3/4.)在执行“val=456”之前,必须先执行“var val” 这些问题大多是由于变量的声明方式造成的。
试着在jsbin.com之类的东西中运行这段代码,我想你会发现它更容易理解 你能包括你在问题中尝试过的代码吗?在我
let val=123
之后,我可以输出并且val=456
我仍然可以输出小心——你把var
和let
混为一谈了——它们的行为不同。实际上是故意这样做的,因为他最初是在全局范围内声明var的。我建议他在最后一个示例中用var声明它,以便于演示。可能有点困惑,但没有额外的解释,抱歉。