首先函数执行形成私有作用域(局部作用域),函数体中代码从上到下执行,函数执行完毕会自动销毁;
函数执行形成一个局部作用域(私有作用域),函数体中的代码从上到下执行之前先进行形参赋值和预解析, (私有作用下预解析,解析的是私有作用域下的带有var和function关键字)(预解析完成代码从上到下执行) 其它的和全局作用域下的预解析是一样的;
<script> function fn(num1,num2) { var a = 20, b = 30; console.log(num1,num2); function fn1() { console.log("呵呵"); } } fn(100,200); </script>
预解析流程图: