gpt4 book ai didi

javascript - 我们如何访问局部变量?

转载 作者:行者123 更新时间:2023-11-30 08:00:23 36 4
gpt4 key购买 nike

有一个测试是 a 是未定义的还是 b 是未定义的。然而让我感到困惑的是,当两者都是局部变量时,我们如何在 console.log 中访问 a 和 b。它与我们在括号内定义函数的方式有关吗?我是 JavaScript 的新手,我想了解它是如何工作的。

(function(){
var a = b = 3;
})();

console.log("a defined? " + (typeof a !== 'undefined'));
console.log("b defined? " + (typeof b !== 'undefined'));

最佳答案

从函数外部,您的 console.log() 调用可以访问 b 但不能访问 a。变量a在函数中通过var语句声明;然而,变量 ba 的初始化表达式隐式设置为全局变量。

var 语句被解释为好像它是写的

var a = (b = 3);

var 语句的语法使得初始化b 定义为局部变量。您可以使用像您这样的代码或通过添加来验证这一点

"use strict";

就在 var 语句之前,注意您会因隐式全局使用 b 而收到错误。

关于javascript - 我们如何访问局部变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29730683/

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