Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何理解';定义为';和';声明';在Javascript变量声明中?_Javascript_Variables - Fatal编程技术网

如何理解';定义为';和';声明';在Javascript变量声明中?

如何理解';定义为';和';声明';在Javascript变量声明中?,javascript,variables,Javascript,Variables,我无法理解chrome控制台中的错误信息,第一个错误是“let”声明的变量在分配之前不可访问,但是下面的错误意味着“标识符“val”已声明”和“val未定义”如何。无法使用我的变量“val” 按顺序: 1.)是由于您在声明“val”(就在下面一行)之前在REPL中执行“console.log(val)”。再订购这两条线,你会很好的 2.)实际上是您已经在上面的行中声明“val”的副作用 3/4.)在执行“val=456”之前,必须先执行“var val” 这些问题大多是由于变量的声明方式造成的。

我无法理解chrome控制台中的错误信息,第一个错误是“let”声明的变量在分配之前不可访问,但是下面的错误意味着“标识符“val”已声明”和“val未定义”如何。无法使用我的变量“val”

按顺序:

1.)是由于您在声明“val”(就在下面一行)之前在REPL中执行“console.log(val)”。再订购这两条线,你会很好的

2.)实际上是您已经在上面的行中声明“val”的副作用

3/4.)在执行“val=456”之前,必须先执行“var val”

这些问题大多是由于变量的声明方式造成的。让我们将它们弹出到您的REPLs全局范围中,这会使它变得更加混乱


试着在jsbin.com之类的东西中运行这段代码,我想你会发现它更容易理解

你能包括你在问题中尝试过的代码吗?在我
let val=123
之后,我可以输出并且
val=456
我仍然可以输出小心——你把
var
let
混为一谈了——它们的行为不同。实际上是故意这样做的,因为他最初是在全局范围内声明var的。我建议他在最后一个示例中用var声明它,以便于演示。可能有点困惑,但没有额外的解释,抱歉。