1 <script language="javascript">
2 (function test(){
3 var a=b=5
4 alert(typeof(a))
5 alert(typeof(b))
6 })()
7 alert(typeof(a))
8 alert(typeof(b))
9 </script>
var a=b=5
只定义a变量,
b变量未定义,所以隐式定义,在js中隐式定义是全局变量..
猜测var定义在解释的时候,会拆分,象上面的定义,会把 var a;提到块的前面去定义,
而在原地赋初值即a=b=5