转换为if / else语句

时间:2011-04-07 02:28:14

标签: javascript if-statement

不知怎的,这不起作用:

if(direction != 'leftnav') direction = 'leftnav'; 
if(direction == 'leftnav') direction = 'rightie';

这总是出现“右”“

我倾向于认为这是因为它们会被覆盖。这可以用if else语句完成吗? 谢谢:))

3 个答案:

答案 0 :(得分:5)

!=====strict equality checks

您可能只想要!=,如下所示:

if (direction != 'leftnav') {
  direction = 'leftnav';
}
else {
  direction = 'rightie';
}

或者更好的是,对于这些简单的作业,使用ternary operator

direction = direction == 'leftnav' ? 'rightie' : 'leftnav';

答案 1 :(得分:2)

当然他们会覆盖,看看你在那里做什么:

if(direction !== 'leftnav') direction = 'leftnav';
if(direction == 'leftnav') direction = 'rightie';

如果是其他任何内容,则第一个语句将direction设置为'leftnav'。所以当你进入第二个陈述时,direction将永远是'leftnav'。你的意思是说else if而不仅仅是if第二个吗?

答案 2 :(得分:1)

想想你要求的逻辑:

如果没有leftnav,那就把它左手 [下一个声明 - 在它已被重新分配之后]
如果是leftnav,请将其改为正确。

您正在寻找

if(direction !== 'leftnav') direction = 'leftnav';
else if(direction == 'leftnav') direction = 'rightie'; // can just be "else"