登录 主页

作用域的使用范围

2024-09-08 10:19AM

作用域的使用范围决定了变量和函数在代码中的可访问性

1.全局作用域:

定义:在代码的任何地方都可以访问的变量和函数

使用范围:全局变量在整个页面的代码中均可访问,包括在所有函数和代码块内,在全局作用域中定义的函数也可以在代码的任何部分调用

let global = "I'm global"
function showGlobal() {
  console.info(global) // 可以访问
}

2.局部作用域

定义:仅在特定函数内部可访问的变量

使用范围:函数内部定义的变量在函数外部不可访问

function example() {
  let local = "I'm local"
  console.info(local) // 可以访问
}
// console.info(local) //这里会报错,因为local不在作用域内

3.块级作用域

定义:使用let和const定义的变量仅在其所在代码块内可用

使用范围:通常用于控制流语句(如if、for等)内部

if (true) {
  let block = "I'm block scoped"
  console.info(block)
}
// console.info(block) // 会报错,因为block不在作用域内

4.词法作用域

定义:变量的作用域由其定义的位置决定,而不是调用的位置

使用范围:嵌套函数可以访问其外部函数的变量

function outerFunction() {
  let outer = "I'm from outer"
  function innerFunction() {
    console.info(outer) // 可以访问外部函数的变量
  }
  innerFunction()
}
outerFunction()

作用域使用范围的好处:

1)避免命名冲突

2)管理变量的生命周期

3)增强代码的可读性和可维护性

 

返回>>

登录

请登录后再发表评论。

评论列表:

目前还没有人发表评论