JavaScript函数作用域链分析
2015-02-13 11:06
399 查看
本文实例分析了JavaScript函数作用域链。分享给大家供大家参考。具体分析如下:
作用域链:
JavaScript的每个函数function都有自己的作用域,使用Active Object(简称AO)活动对象来保存,在相互嵌套的函数中形成了作用域链,如下图所示:
作用域链就是从里到外的AO链
变量的寻找:
函数fn3中使用的变量,如在fn3作用域内寻找不到,则往外层fn2作用域寻找,以此类推,直到全局对象window
代码演示如下:
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();
了解了JavaScript作用域链后,在函数里面使用频率较高的外部变量,最好先将外部变量保存为局部变量后,再进行操作,这样就大大减少通过作用域链查找变量的时间。
希望本文所述对大家的javascript程序设计有所帮助。
您可能感兴趣的文章:
- javascript 嵌套的函数(作用域链)
- 深入理解JavaScript作用域和作用域链
- 深入理解JavaScript系列(14) 作用域链介绍(Scope Chain)
- JavaScript中的作用域链和闭包
- 你必须知道的Javascript知识点之"深入理解作用域链"的介绍
- 深入Javascript函数、递归与闭包(执行环境、变量对象与作用域链)使用详解
- JavaScript作用域链使用介绍
- 关于Javascript作用域链的八点总结
- JavaScript作用域与作用域链深入解析
- 深入理解JavaScript高级之词法作用域和作用域链
- JavaScript作用域链示例分享
- JavaScript 作用域链解析
- Javascript变量的作用域和作用域链详解
- 跟我学习javascript的作用域与作用域链
相关文章推荐
- BO2K源码分析(一 WinMain()函数)
- 如何写系统分析书
- "陷阱"技术探秘----动态汉化Windows技术的分析
- Java 编程技术中汉字问题的分析及解决
- php4.0.0远程溢出源代码分析与测试程序
- Java 编程技术中汉字问题的分析及解决
- "陷阱"技术探秘 ----动态汉化Windows技术的分析
- 关于Basic程序解释器及编译原理的简单化(1)--词法分析和代数式求值
- 关于Basic程序解释器及编译原理的简单化(1)---Basic器的语法分析及主要代码
- Unix/ELF文件格式及病毒分析
- Linux开机过程的分析
- LILO使用指南 MBR 根分区 lilo.conf 出错分析 忘记密码
- C++的不足之处讨论系列(二)-- 全局分析
- BO2k源码分析(二)----命令循环机制
- BO2k源代码分析(一)----WinMain()函数
- [导入]Web搜索引擎设计和实现分析
- 分析网上销售软件是否能赚钱,数字最有说服力
- 万花谷网页病毒源码分析
- "陷阱"技术探秘 ──动态汉化Windows技术的分析