全局作用域变量可在任何地方访问,如var globalVar;函数作用域变量仅在函数内有效,使用var声明;块级作用域由let和const实现,限于{}内;变量查找遵循作用域链,从局部到全局。

JavaScript 变量的作用域决定了变量在代码中哪些位置可以被访问。理解作用域有助于写出结构清晰、避免冲突的代码。
全局作用域
在函数外部声明的变量拥有全局作用域,可以在代码的任何地方被访问。
示例:
var globalVar = “我是全局变量”;
function test() { console.log(globalVar); // 正常输出}
test();
console.log(globalVar); // 全局可访问
函数作用域(局部作用域)
在函数内部用 var 声明的变量只能在该函数内访问,外部无法获取。
示例:
function myFunction() { var localVar = “我是局部变量”; console.log(localVar);}
myFunction();
// console.log(localVar); // 报错:localVar is not defined
块级作用域(let 和 const)
使用 let 和 const 声明的变量具有块级作用域,只在对应的 { } 内有效,比如 if、for、while 等语句块中。
示例:
if (true) { let blockVar = “块级变量”; console.log(blockVar); // 正常输出}
// console.log(blockVar); // 报错:blockVar is not defined
同样适用于 const:
const PI = 3.14;
PI 不能重新赋值,且作用域也受块限制。
作用域链与变量查找
当在函数内部访问一个变量时,JavaScript 会先查找本地作用域,如果找不到,就向上一级作用域查找,直到全局作用域。
示例:
var outer = “外层变量”;
function outerFunc() { var inner = “内层变量”; function innerFunc() { console.log(outer); // 找到全局变量 console.log(inner); // 找到父函数变量 } innerFunc();}
outerFunc();
基本上就这些。合理使用 var、let、const 能帮助你更好控制变量可见范围,减少命名冲突和意外修改。
以上就是js变量的作用域如何使用的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1536597.html
微信扫一扫
支付宝扫一扫