Javascript 如果我有一些用大括号包装的代码呢?
我没有得到这个问题的答案,如果我这样做会发生什么?谁能给我解释一下吗?先谢谢Javascript 如果我有一些用大括号包装的代码呢?,javascript,Javascript,我没有得到这个问题的答案,如果我这样做会发生什么?谁能给我解释一下吗?先谢谢 { var x=10; 变量y=10; var和; 总和=x+y; } 控制台日志(总和)将代码用大括号括起来会创建一个普通块。这就像一个只运行一次的for循环 { // insert code here } 完全等同于(假设变量i除了在for循环声明中之外没有在任何地方使用): 当您将代码包装在大括号中时,它充当普通块。由于您对x、y和sum变量使用了“var”,因此对作用域没有影响。但如果您对x、y和su
{
var x=10;
变量y=10;
var和;
总和=x+y;
}
控制台日志(总和)代码>将代码用大括号括起来会创建一个普通块。这就像一个只运行一次的for
循环
{
// insert code here
}
完全等同于(假设变量i
除了在for循环声明中之外没有在任何地方使用):
当您将代码包装在大括号中时,它充当普通块。由于您对x、y和sum变量使用了“var”,因此对作用域没有影响。但如果您对x、y和sum变量使用“let”,那么它将给出以下控制台错误
"Uncaught ReferenceError: sum is not defined"
在这种情况下,x、y和sum不起全局作用。这是javascript的预期行为。发生这种情况是因为提升,使用var声明的任何内容都会提升到脚本文件的顶部
你应该看看这个
没有什么,在这种情况下,没有什么-如果您使用let
或const
则没有什么不同-但是该代码。。如果您使用let
或const
,可能不会发生任何特殊或不同的情况。但是,对于var
,不可能存在重复:。
"Uncaught ReferenceError: sum is not defined"