1.简介:
上下文就是js被解析和运行的环境,在js中运行的所有代码都是在上下文环境中执行的
2.执行上下文的类型:
- 全局上下文:任何函数都位于全局上下文中;一个程序中;只存在一个全局上下文
它的作用是:
1.创建全局的window对象
2.将this指向该全局对象 - 函数执行上下文:每次调用这个函数时,都会为这个函数创建当前执行的上下文。每个函数都有自己的执行上下文;一个程序中,有多个函数调用时;他们都会创建自己的执行上下文;按照一定的顺序执行
- eval执行上下文:eval执行一个函数时;也会有自己的执行上下文
3.示例:
function _run() {
console.log(arguments, 333);
console.log(arguments.callee);
}
eval("console.log('触发')");
eval(_run());
eval(console.log(1111));
4.变量存放位置:
- 基本类型存在栈中
- 引用类型存在堆中
- 闭包引入的基本类型由于不会被销毁,也存放在堆中