<script>
function show(){
var a=b=5;
}
show();
console.log(typeof a !== 'undefined');//判断变量a是不是未定义 true
console.log(typeof b !== 'undefined');//判断变量b是不是未定义 false b的值是5
</script>
是因为赋值从右向左结合,var a=b=5; 等价于 var a=(b=5);
其中只有a被声明了,b是自动解析为全局变量了。