js的变量作用域

一、变量的作用域

作用域,一段代码的作用范围。

作用域链,在一个执行环境中有权访问的变量和函数能够有序有机的进行访问

    1.全局变量
      在代码中任何地方都能够访问得到的变量,拥有全局的作用域。
        A.最外层函数外面定义的变量。
        B.没有定义直接赋值的变量,拥有全局属性。

  var bbs="全局变量";
  function aa () {
     alert(bbs);//全局变量
	 function bb () {
	    alert(bbs);//全局变量
	 }
	 bb()
  }
  aa()

  2.局部变量
      只能在固定的代码片段(函数片段中)中访问得到。
        A.函数内部定义的变量,就是局部变量。
        B.参数也是局部变量。

var hdw="全局变量";
  function fun1 () {
   var hdw="局部变量";
    alert(hdw);
  }
  fun1();//局部变量
  alert(hdw);//全局变量

二、对标识符预解析

 js环境:
 1.宿主环境(浏览器)     
 2.执行环境(上下文文档的环境)
     执行的环境决定了变量和函数的访问权限。
      A.全局环境
      B.函数环境
      c.eval();

1、<Script></script>块依次解析。

2、解析代码运行的环境。

3、对标识符(关键字)(var function )进行解析,解析到相应的环境下
4、如果还有<Script></script>块再按照上面的步骤依次解析

猜你喜欢

转载自blog.csdn.net/qq_35029061/article/details/82823833