z/OS V2.1 XL C/C++
输出:未捕获的ReferenceError:未定义x。
Q1。为什么会出错?
Q2。在上面的示例中,如何在第一个控制台中访问x = 10?
答案 0 :(得分:1)
允许您声明范围有限的变量。与var关键字不同,var关键字全局定义变量,或者与整个函数本地定义,无论块范围如何。
答案 1 :(得分:0)
与所有人提到的一样,let
的范围有限。如果使用let
声明变量,则变量的范围限定为最近的封闭块。这意味着您只能在相同的代码块中使用它,如果您在函数或其他块之外声明它,则该块无法使用它。
但是如果你使用var
声明了一个变量,那么该变量将被限定为最近的功能块,这意味着它是全局的,但有一个限制:你不能仅在函数内使用声明的值,但仍然能够在函数内定义它。无需再次申报。
有关更详细的说明,您可以查看:What's the difference between using "let" and "var" to declare a variable?
所以回答你的问题:由于你使用了let
并且在if
块之外声明了它,因此它给出了一个错误,因此if
块没有定义/可见。要使其访问x = 10
,请使用var
代替let
。