Javascript es6如何在if语句中使用console.log?
为什么console.log返回未定义?即使Javascript es6如何在if语句中使用console.log?,javascript,Javascript,为什么console.log返回未定义?即使let限制了v的范围,该范围也在if语句中(这也是console.log所在的位置),那么它是否仍然应该被记录 var x = 1; if(x < 10) { let v = 1; v = v + 21; v = v * 100; v = v / 8; console.log(v); } console.log(v); //v is not defined var x=1; if(x
let
限制了v
的范围,该范围也在if
语句中(这也是console.log
所在的位置),那么它是否仍然应该被记录
var x = 1;
if(x < 10) {
let v = 1;
v = v + 21;
v = v * 100;
v = v / 8;
console.log(v);
}
console.log(v); //v is not defined
var x=1;
if(x<10){
设v=1;
v=v+21;
v=v*100;
v=v/8;
控制台日志(v);
}
控制台日志(v)//v没有定义
声明的变量let被限制在if块内。v
未在if
语句外定义,因此,if外的控制台的未定义输出。log
表示if内的log语句正在报告使用let声明的未定义?变量具有块范围。所以这些变量只能在声明变量的块中访问。因此,在示例代码中,第一个“console.log”可以访问v,但第二个“console.log”不能访问v。您可以看到更多详细信息:@mangocaptain您在谈论两条日志语句中的哪一条?console.log
只接收值。它不知道它是一个let
变量、一个var
变量、一个表达式还是其他什么。所以这是无关的。