首页 > 编程语言 > 详细

图解 javascript 作用域及作用域链

时间:2014-03-18 12:26:03      阅读:672      评论:0      收藏:0      [点我收藏+]

还是之前那一段简单的javascript代码:

window.onload=function(){
 function sub(a,b){
   return a-b;
 }
 var result=sub(10,5);
}

这段代码中的执行环境已经数清楚了,可是执行环境只是代码在预编译过程中javascript引擎所做的事情,当代码在window onload事件被触发,且sub函数被执行的时候会发生什么事情呢?

1.javascript引擎会在页面加载脚本被执行时为每个函数创建一个作用域(执行上下文)及作用域链。

2.javascript引擎在产生这些作用域后,会创建一个堆栈。

3.将onload对应的匿名函数压栈

4.将sub函数压栈

5.sub函数执行完毕出栈

6.匿名函数出栈

整体图解如下:

bubuko.com,布布扣

如有错误之处,欢迎批评指正。谢谢

图解 javascript 作用域及作用域链,布布扣,bubuko.com

图解 javascript 作用域及作用域链

原文:http://www.cnblogs.com/JhoneLee/p/3604678.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!