函数特别说明
在执行js代码前,对于函数,除了准备上一章提到的数据之外,还会有其他数据:
var b=20;
function test(){
console.log(b);//10
console.log(arguments);//[10]
}
以上说明函数体在执行语句之前,除了函数参数会被赋值,另外 arguments变量也会被赋值,arguments是一个数组,会接收函数所有的参数。
函数每执行一次,都会产生一个新的执行上下文,不同的调用可能有不同的参数
总结:全局代码的上下文,
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200618193357440.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MDcxOTk0Mw==,size_16,color_FFFFFF,t_70)
即:在执行代码前,把将要用到的所有的变量都事先拿出来,有的直接赋值,有的先用undefined赋值