JavaScript的作用域和作用域链介绍

原创
小哥 3年前 (2022-10-20) 阅读数 111 #js教程
文章标签 JavaScript作用域

定义

  • 范围就是代码 执行环境 ,全局执行环境是全局作用域,函数执行环境是私有作用域,它们是堆栈内存
  • 作用域链在定义函数时确定。
  • 内部环境可以通过范围链访问所有外部环境,但外部环境不能访问内部环境的任何变量和函数。
  • 当您需要访问内部函数中的变量时,您将首先访问函数本身的变量对象,无论是否存在这样的变量,如果没有,则继续沿着作用域链查找,直到全局作用域。

作用域链在定义函数时确定。

var x=10;
function fn(){
    console.log(x);
}
function show() {
    var x=20;
    fn();
}
show();  //输出10
-----------------------
var x=10;
function show() {
    var x=20;
    function fn(){
        console.log(x);
    }
    fn();
}
show();  //输出20
版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除

热门