关于js函数内部取外部值的问题

 var o = {

            fn : function(){

                var a=1;

                //第一种情况:如果把bbb写在这儿外部调用这个bbb可以取到变量a的值

                // this.bbb = function(){

                //     console.log(a);

                // }

            },

             //第二种情况:如果把bbb写在这儿外部调用用这个bbb不可以取到变量a的值

            bbb: function(){

                console.log(a);

            }

        }

 function func(){

    o.bbb();//第一种情况可以打印出a的值,第二种不可以。第一种为什么可以呢,bbb是在func函数作用域里面调用啊??

 }

 o.fn();

 func();//

外部调用
为什么呢?

开满天机
浏览 1240回答 1
1回答

RISEBY

第一问,可以。外层函数有变量a.第二问,不可以。对象没有变量a.当函数内部找不到变量的时候,它会往外层找。也就是上层。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript