美文网首页
js进阶(1.2)词法作用域

js进阶(1.2)词法作用域

作者: slTrust | 来源:发表于2017-12-13 23:11 被阅读0次

    fn1 调用的时候不会立即执行
    而是会生成一个抽象语法树
    校验里面的每句话 如果有错误就停止执行
    没错再从头开始执行

    一个函数能访问那些变量 在做词法分析的时候就确定了

    词法树分析的是语义
    只能确认a就是这个函数内部的a
    不能确定的是“值”

    var global = 1;
    function fn1(param1){
        var local1 = 'local1';
        var local2 = 'local2';
        function fn2(param2){
            var local2 = 'fn2 local2';
            console.log(local1);
            console.log(local2);
        }
    
        function fn3(){
            var local2 = 'fn3 local2';
            fn2(local2);
        }
    }
    

    经典面试题

    var a = 1;
    function b(){
      console.log(a)  // a一定是1吗?
    }
    

    你在看看

    var a =1;
    function b(){
      console.log(a);
    }
    ...若干代码后 突然一句
    a = 2;
    b();  //
    
    

    相关文章

      网友评论

          本文标题:js进阶(1.2)词法作用域

          本文链接:https://www.haomeiwen.com/subject/ykltwxtx.html