执行上下文例题

<body>
    <!--
        1.依次输出什么?
            gb:undefined
            fb:1
            fb:2
            fb:3
            fe:3
            fe:2
            fe:1

            ge:1

        2.整个过程中产生了几个执行上下文?

    -->
    <script>
        console.log('global begin:' + i )
        var i = 1
        foo(1);
        function foo(i){
            if(i==4){
                return
            }
            console.log('foo() begin:' + i);
            foo(i+1);//递归调用:在函数内部调用自己
            console.log('foo() end:'+i);
        }
        console.log('global end:' + i)
    
    
    </script>
</body>

 

 

 

 

 

 //测试题2
        if(!(b in window)){
            var b = 1;
        }
        console.log(b)//undefined

        /*测试题3*/
        var c = 1
        function c(c){
            console.log(c)
        }
        c(2)//报错
        //var c ;function c
        // c=1
        //c(2)  报错

        //测试题4  变量提升和函数提升  谁先执行?
        //先执行变量提升,再执行函数提升
        function a(){
            
        }
        var a;
        console.log(typeof a)//'function'
    
  //测试题4  变量提升和函数提升  谁先执行?
        //先执行变量提升,再执行函数提升
posted @ 2019-11-08 14:50  燕子fly  阅读(108)  评论(0编辑  收藏  举报