一、变量的作用域 JavaScript脚本的执行过程分为两个阶段: 第一阶段,js引擎()先扫描整个javascript代码。当碰到时,会先创建一个全局的活动对象,将<script>中出现的变量的声明,函数的定义保存在活动对 象里面。如果碰到函数,则创建对应的局部活动对象,将函数内部的变量的声明及函数的定义保存在该活动对象里面。</p> <p>第二阶段,执行javascript代码,遇到变量,会先从对应的活动对象里面查找,找不到,找上一层的活动对象。</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'><html> <head> <script> var i = 100; function f1(){ alert(i); var i = 1000; } function f2(){ var i = 1000; alert(i); } function f3(){ alert(i); i = 1000; } function f4(){ alert(i); i = 1000; function f5(){ var i = 10000; } } f1(); //结果是undefined f2(); //结果是1000 f3(); //结果是100