关于JavaScript中的作用域

最近进行页面开发时,会经常碰到函数作用域,所以做个笔记记录一下js中的作用域

什么是作用域?

作用域是一套规则,用于确定变量在何处以及如何查找变量。
在 JavaScript 中, 作用域为可访问变量,对象,函数的集合。


JavaScript中的作用域:全局作用域、局部作用域(块作用域)、函数作用域
变量在函数内声明,变量为局部作用域,只能在函数内部访问的变量叫局部变量
函数作用域的含义是指:属于这个函数的全部变量都可以在整个函数的范围内使用及复用。

作用域如何使用

利用var定义一个变量,这个变量在全局作用域内

var globalVariable = 111

利用let/const定义一个变量,这个变量在局部作用域内

let myflga = false
if(myflga == true) {
  const myName = 'ojr'
  console.log(myName) // ojr
}
console.log(myName) // not defined

可以理解为每一个 {} 都是一个局部作用域

定义一个函数作用域,函数内部代码就是函数作用域内的变量

function myFunc(param) {
  let myAge = param
  console.log(myAge)
}
myFunc(20)

需要注意的是,try catch中的 catch 内也是局部作用域

try {
  throw new Error()
} catch (e) {
  var test = "Hello ojr"
  const test2 = "test2"
  console.log(e)
}

console.log(e)  // not defined
console.log(test2) // not defined
posted @   _keyon  阅读(68)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示