js 基础概念

一 执行上下文 和 执行上下文栈

执行上下文:一段javascript代码执行前的准备工做
问题一:js引擎遇到怎样一段代码才会作“准备工做呢”?
可执行代码类型:全局代码、函数代码、eval代码
执行上下文的三个重要概念 : 变量对象,做用域链,thisjavascript

问题二:准备工做是什么?
准备工做就是执行上下文,函数声明提高、变量声明提高java

执行上下文栈闭包

模拟执行上下文栈 ,ECStack = [];
只有当整个应用程序结束时,ECS才会被状况,因此ECStack底部永远有个globalContext, ECStask = [globalContex];函数

function f1 (){
    console.log('fun1');
}
function f2 (){
    f1 ();
}
f2();
//伪代码
ECStask.push(f2Context);
ECStask.push(f1Context);
ECStask.pop(f1Context);
ECStask.pop(f2Context);

问题三:闭包的上下文执行栈是这么存储的this

相关文章
相关标签/搜索