JavaScript执行上下文和作用域是什么及区别

在这里插入图片描述
JavaScript执行上下文和作用域是什么及区别_第1张图片
JavaScript执行上下文和作用域是什么及区别_第2张图片
JavaScript执行上下文和作用域是什么及区别_第3张图片
JavaScript执行上下文和作用域是什么及区别_第4张图片

var scope = "global scope";
function checkscope(){
     
    var scope = "local scope";
    function f(){
     
        return scope;
    }
    return f();
}
checkscope();
var scope = "global scope";
function checkscope(){
     
    var scope = "local scope";
    function f(){
     
        return scope;
    }
    return f;
}
checkscope()();

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210104222609367.png#pic_cente
JavaScript执行上下文和作用域是什么及区别_第5张图片


function F1() {
     
  var a = 100
  return function () {
     
    console.log(a)
  }
}
function F2(f1) {
     
  var a = 200
  console.log(f1())
}
var f1 = F1()
F2(f1) // 100


解释:当函数被执行时,函数会根据作用域,去找当前作用域中的变量。
函数作用域是执行前就确定了,所以会从F1的作用域里找到变量a的值,为100

你可能感兴趣的:(前端,js,javascript,html5,前端,html)