[JavaScript-08]执行流和执行环境 作用域
1. 执行流
// 执行流
var a = 1; // 1
var b = 2; // 2
function fn(x) {
var a = 10; // 4
function bar(x) { // 6 // 11
var a = 100; // 7 a=100 // 12 a=100
b = x + a; // 8 b=120 // 13 b=300
return b; // 9 // 14
}
bar(20); // 5
// bar(20)执行环境 x:20,a:undifined,arguments:[0],this:window
bar(200); //10
}
fn(0); // 3
// fn(0)执行环境:变量对象
// x:0,a:undefined,bar:function,arguments:[0],this:window
2. arguments
// arguments获取的传参的值
function fff()
{
console.log(arguments);
}
fff("aa",22,'aaa')
fff();

// 作用域
/*
- 在js中,除了全局作用域,每个函数都会创造自己的作用域
- 作用域在函数定义时就已经确定,跟函数调用无关
- 通过作用域可查找作用域范围内的变量和函数有哪些,却不知道变量的值,作用域为静态
- 对于函数来说,执行环境在函数调用时确定的
- 执行环境包含作用域所有的变量和函数值
- 在同一作用域下,不同的调用会产生不通的执行环境,从而产生不同的变量和值
*/
浙公网安备 33010602011771号