不知怎的,这不起作用:
if(direction != 'leftnav') direction = 'leftnav';
if(direction == 'leftnav') direction = 'rightie';
这总是出现“右”“
我倾向于认为这是因为它们会被覆盖。这可以用if else语句完成吗? 谢谢:))
答案 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"