结果为什么x=5,y=4
x=y+(y=x)*0
这条线
x=5+(4)*0
为什么不?
x=4+(4)*0
var x=4;
var y=5;
x=y+(y=x)*0;
console.log(x);
console.log(y);
在 Chrome 控制台上运行
最佳答案
因为 y=x
不会神奇地在该行的其余部分之前运行。 JavaScript 执行表达式中的每一位; y
在前,是 5
;然后y = x
出现,它是4
。
关于Javascript 赋值表达式的执行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30315679/