gpt4 book ai didi

javascript - boxSize 泄漏到全局范围

转载 作者:行者123 更新时间:2023-12-01 02:58:38 25 4
gpt4 key购买 nike

控制台记录两次,但只需要显示第一个console.log(boxSize)

var size = 100;
if (size > 50) {
var boxSize = size * 5;
console.log(boxSize);
}
console.log(boxSize);

最佳答案

这是一种在 Javascript 中称为提升的行为。

Hoisting is a JavaScript mechanism where variables and function declarations are moved to the top of their scope before code execution.

javascript 中的

var 不是 block 作用域的。您可以在 ES6 中使用关键字 letconst 来声明仅可用于声明它的 block 的变量。

var size = 100;
if (size > 50) {
let boxSize = size * 5;
console.log(boxSize);
}
console.log(boxSize);// Uncaught ReferenceError: boxSize is not defined

关于javascript - boxSize 泄漏到全局范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46582437/

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