js作用域和作用域链
创始人
2024-05-29 02:30:09

1、局部作用域分为函数作用域和块作用域

1.1、函数作用域:

在函数内部声明的变量只能在函数内部被访问,外部无法直接访问。

总结
1.函数内部声明的变量,在函数外部无法被访问
2.函数的参数也是函数内部的局部变量
3.不同函数内部声明的变量无法互相访问
4.函数执行完毕后,函数内部的变量实际被清空了

1.2、块作用域:

在lavaScript 中使用包裹的代码称为代码块,代码块内部声明的变量外部将[有可能] 无法被访问。
var声明的就可以访问

1.let 声明的变量会产生块作用域,var 不会产生块作用域
2.const 声明的常量也会产生块作用域
3.不同代码块之间的变量无法互相访问
4.推荐使用 let 或 const

// var声明的就可以访问 for--这个一个块级作用域
for (var i = 0; i < 5; i++) {let k = 10;//不可以访问
}
console.log(i);//5console.log(k);// k is not defined

2、作用域链

作用域链本质上是底层的变量查找机制
在函数被执行时,会优先查找当前函数作用域中查找变量
如果当前作用域查找不到则会依次逐级查找父级作用域直到全局作用域



在这里插入图片描述
总结:
1.套关系的作用域串联起来形成了作用域链
2.相同作用域链中按着从小到大的规则查找变量
3.子作用域能够访问父作用域,父级作用域无法访问子级作用域

上一篇:Javalin解构

下一篇:python 连接数据库

相关内容

热门资讯

世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...