gpt4 book ai didi

javascript - 为什么我不能在这个简单的函数中访问这个变量?

转载 作者:行者123 更新时间:2023-12-04 08:56:14 24 4
gpt4 key购买 nike

我是 Javascript 新手,我不明白范围在以下代码中是如何工作的:

//Code n°1:

let num = 1;

function test(){
console.log(num);
}

test() //As I expected I get in console "1"
//Code n°2:

let num = 1;

function test(){
let num = 2;
console.log(num);
}

test() //As I expected I get in console "2"
但问题是:
//Code n°3:

let num = 1;

function test(){
console.log(num)
let num = 2;
console.log(num);
}

test() //I expected to get in console "1" and then "2" but instead I get an error.
当我在浏览器中运行代码 n° 3 时,我收到此错误:
未捕获的 ReferenceError:无法在初始化前访问词法声明“num”
如果我查看代码 1 和 2,我想在运行代码 3 后,我将在控制台中获得数字 1,然后是数字 2。但这并没有发生。为什么?
非常感谢!

最佳答案

JavaScript 异常“在初始化之前无法访问词法声明‘变量’”发生在词法变量在初始化之前被访问时。这发生在任何块语句中,当 let 或 const 声明在定义之前被访问时。

关于javascript - 为什么我不能在这个简单的函数中访问这个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63821129/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com