为什么呢?
1、先执行var a=1此时a=1
2、var b=++a此时b=2a=2
解释:
加减在前 先加减后赋值
加减在后 先赋值再加减
++a属于加减在前的情况,此时a自增等于2,然后赋值给b,所以b也等于2
所以最后alert出的结果都是2
希望能帮助到你,有疑问欢迎追问,尽我所能为你解答
1、用var a=b=1的方式
由上图可以明显看出来,变量b的作用域已经是全局的了,因为在函数外可以调用到(可以正常的输出变量)。
2、用var a=1,b=1的方式
由上图可以看出,变量a和变量b的作用域都是局部,因为它们在外部都不能调用到。
结论:var a=b=1中的变量b会成为全局变量,而var a=1,b=1中的a、b变量都为局部变量。