美文网首页
词的作用域

词的作用域

作者: 我是一只要变快的小蜗牛 | 来源:发表于2018-07-17 15:03 被阅读0次

    最近在学习javascript,把自己能够理解的记录下来

    var x = "hello";

        var test = function(){

            console.log(x);    //弹出"undefined"

            var x = "hi";

            console.log(x);   //弹出"hi"

        }

        test();

    x='hello'是一个全局作用域,在函数作用域test中打印变量x,涉及到变量提升,会先从自身查找局部变量x,已经找到,不会再继续向上查找。这个时候指向全局对象,也就是window.

    上面的例子和下面的这个是等价的,变量提升(先调用,后声明)

    var x = "hello";

        var test = function(){

          var x;

            console.log(x);    //弹出"undefined"

            var x = "hi";

            console.log(x);   //弹出"hi"

        }

        test();

    var x = "hello";

        function test(){

            console.log('打招呼说' + x);//弹出"hello";

        }

        test();

    在本身查找不到就查找到全局变量x,所以打印出来是hello

    当调用test()函数时,形成的作用域链为‘调用对象’==》‘全局对象’

    打印(x)时,首先查找调用对象(test函数)是否有x的属性,如果有则使用‘调用对象’的x,如果没有,就接着查找‘全局对象’是否有x的属性。

    还没有写全,(只有自己看的明白就行了)下次再补

    相关文章

      网友评论

          本文标题:词的作用域

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