关于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 @ 2021-08-22 10:29  _keyon  阅读(78)  评论(0)    收藏  举报