js中,作用域与作用域链的概念

1 作用域

声明的一个变量只在一段代码范围内是有效的,并不是总有效的。例如 :

function father(){
  // 声明变量
  var val = "作用域内";
  
  // 定义内部函数
  function children() {
    console.log(val); // 可以访问到 val 变量,结果为:“作用域内”
  }
}
console.log(val); // 报错,undefined

 

 

2作用域链

当所需要的变量,在所在的作用域中查找不到的时候,它会一层一层向上查找,直到找到全局作用域还没有找到的时候,就会放弃查找。这种一层一层的关系,就是作用域链。

posted on 2022-02-12 09:48  xiaobailang  阅读(44)  评论(0)    收藏  举报