首页 > 代码库 > JS学习二

JS学习二

  1. 函数作用域和声明提前

       var scope = ‘global‘;

        function f()

        {

            console.info(scope);   //输出undefined

             var scope = ‘local‘;

            console.info(scope);  //输出 local

        }


         上述代码等价于

        function f()

        {

            var scope;

            console.info(scope);

            scope = ‘local‘;

            console.info(scope);

        }

        将函数内的变量声明“提前”至函数体顶部(但不涉及赋值),同时变量初始化留在原来的位置

         该特性被非正式的成为“声明提前”,在函数内声明的所有变量在函数体内始终是可见的!

        

2.   作用域链

    每一段js代码都有一个与之关联的作用域,这个作用域是一个对象列表或链表!这组对象定义了这段代码“作用域中”的变量!