1
x = 1;    
if(x = 10) {x = 1;} 
else {x = x + 1;}
alert (x);

结果总是1, 而不是1,2,3...

4

4 回答 4

9

代替

if(x = 10) {x = 1;} 

if(x == 10) {x = 1;} 

因为x=10return 10,在测试中评估为 true,因此代码{x = 1;}被执行。

来自MDN 关于 if...else

任何非未定义、null、0、NaN 或空字符串 ("") 的值,以及任何对象,包括值为 false 的布尔对象,在传递给条件语句时计算结果为 true

于 2012-12-05T08:48:51.870 回答
4
x = 1;    
if(x 

==

10) {x = 1;} 
    else {x = x + 1;}
    alert (x);
于 2012-12-05T08:49:00.920 回答
4

如果条件应该检查​​如下

x=1;
if(x == 10)
{x = 1;}
else
{x = x+ 1;}
 alert(x)

谢谢

于 2012-12-05T08:49:20.983 回答
3
var x = 1;
x = (x == 10)? 1:x+=1;
alert(x);
于 2012-12-05T08:53:29.543 回答