js作用域

来源:互联网 发布:智能电网技术知乎 编辑:程序博客网 时间:2024/05/23 10:42

1.变量如何寻找

![](http://img.blog.csdn.net/20150621112338551)
闭包:var c = 5;function t1(){    var d = 6;    function t2(){        var e = 7;        alert(c+e+d);    }    t2();}t1();

2.js中的var

var 则是声明变量  : var a = 8;没有加 var 则仅仅是一个赋值操作, a = 8;var 是函数运行的上下文中,声明一个变量,如果不加 var ,则是一个赋值操作,不要狭义的理解为声明了一个全局变量function t1(){    var d;    function t2(){        d = 1;        e = 7;    }    t2();}t1();alert(e); //7alert(d); // d is not definedalert(window.d); //undefined注意:以window.xx 引用全局变量,寻找不到,做为某个属性不存在,返回 undefined

3.js运行过程

  1. 分析时:函数由外到内,分析AO链
  2. 执行时:函数由内到外,首先在AO链上查找
  3. 作用域链就是AO链
0 0
原创粉丝点击