Javascript es6如何在if语句中使用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

为什么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<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
变量、一个表达式还是其他什么。所以这是无关的。