gpt4 book ai didi

javascript - 什么是 es6 中的函数作用域变量 (var) 和 block 作用域变量?

转载 作者:行者123 更新时间:2023-11-29 10:27:25 25 4
gpt4 key购买 nike

我是 javascipt 的新手,因为我现在开始学习 js,我对据说是函数作用域和 block 作用域的 var 感到很困惑;

如果是这样,那么我们如何在该函数之外访问它们!?可以说我想从另一个类使用它(我不知道可能是通过创建一些对象或其他什么)(我想我们不能在这里创建对象!因为我猜它是一种基于函数式编程的语言!:( )

var y = "global";

if (y === "global") {
var y = "block-scoped";
console.log(y); // expected output: block-scoped
}

console.log(y); // expected output: block-scoped

最佳答案

var据说不是功能范围的。

var 声明的变量可以是函数或全局范围的。

  • 如果声明发生在函数内,则变量是仅限于该功能。
  • 如果声明发生在函数之外,那么变量是全局范围。

如果变量声明为 letconst ,然后它具有 block 级范围。 A block{} 分隔,或者如果这些符号不存在,则为封闭函数,或者如果不在 block 或函数中,则为 Global。

I've written another post更详细地讨论范围和范围链,应该有助于回答您的编码方案。

关于javascript - 什么是 es6 中的函数作用域变量 (var) 和 block 作用域变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55444113/

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