今天遇到一个var 定义的多等式变量 var a=b=1;
<script type="text/javascript"> (function ters(){ var a=b=1;//局部变量 })(); console.log(typeof a);//undefined console.log(typeof b);//number </script>
这种情况下是离var定义近的那个变量是局部变量,而其他的不是var 定义的变量则为全局变量。就是等同于一下这个样子
<script type="text/javascript"> (function ters(){ var a=5;//局部变量 b=a; })(); console.log(typeof a);//undefined console.log(typeof b);//number </script>
当等式越来越多的,依然遵循这个原理
<script type="text/javascript"> (function ters(){ // var a=b=c=d=1; var a=5;//局部变量 b=a;//全局变量 c=a;//全局变量 d=a;//全局变量 })(); console.log(typeof a);//undefined console.log(typeof b);//number console.log(typeof c);//number console.log(typeof d);//number </script>