1、JavaScript高级之函数作用域链

页面导航:首页 > 网络编程 > JavaScript > 1、JavaScript高级之函数作用域链

1、JavaScript高级之函数作用域链

来源: 作者: 时间:2016-02-03 09:20 【

作用域链:JavaScript的每个函数function都有自己的作用域,使用Active Object(简称AO)活动对象来保存,在相互嵌套的函数中形成了作用域链,如图:作用域链就是从里到外的AO链变量的寻找

作用域链:

JavaScript的每个函数function都有自己的作用域,使用Active Object(简称AO)活动对象来保存,在相互嵌套的函数中形成了作用域链,如图:

\

作用域链就是从里到外的AO链

变量的寻找:<喎"http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPjxicj4KPC9wPgo8cD66r8r9Zm4z1tDKudPDtcSx5MG/o6zI59TaZm4z1/fTw9PyxNrRsNXSsru1vaOs1PLN+c3isuNmbjLX99PD0/LRsNXSo6zS1LTLwODNxqOs1rG1vcirvta21M/zd2luZG93PC9wPgo8cD48YnI+CjwvcD4KPHA+tPrC69Hdyr6jujwvcD4KPHA+PGJyPgo8L3A+CjxwcmUgY2xhc3M9"brush:java;">var c = 5; function t1(){ var d = 6; function t2(){ var e = 7; var d = 3;//如果在这里声明的var d = 3,那么函数就不在向外寻找变量d,输出的值为15 console.log(c+d+e); } t2(); } t1();

了解了Script作用域链后,在函数里面使用频率较高的外部变量,最好先将外部变量保存为局部变量后,再进行操作,这样就大大减少通过作用域链查找变量的时间。



Tags:

文章评论


<