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 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>
只定義a變量,
b變量未定義,所以隱式定義,在js中隱式定義是全局變量..
猜測var定義在解釋的時候,會拆分,象上面的定義,會把 var a;提到塊的前面去定義,
而在原地賦初值即a=b=5