如何在 JavaScript 中编写没有“else”的 IF else 语句 [关闭]
Posted
技术标签:
【中文标题】如何在 JavaScript 中编写没有“else”的 IF else 语句 [关闭]【英文标题】:How to write an IF else statement without 'else' in JavaScript [closed] 【发布时间】:2011-07-20 12:28:28 【问题描述】:我不能在我的脚本中使用else
;如何在不使用else
的情况下实现if else
语句?
我正在尝试调整 div 的大小:
function hideTable()
var table = document.getElementById('PDemo');
if(table.style.width == "50%") table.style.width = "150px";
if(table.style.width == "150px") table.style.width = "50%";
这个脚本不起作用,因为一旦第一个if
语句被执行,第二个if
语句的条件就变为真,所以它也会执行,因此没有任何变化。
【问题讨论】:
【参考方案1】:三元运算符:
condition ? execTrue() : execFalse();
这相当于:
if (condition)
execTrue();
else
execFalse();
您可以在 1 行中写一个 if/else,只是不要按 enter...
if (condition) execTrue(); else execFalse();
此外,您可以在一行上编写任意复杂度的任何语句:
if(condition1) exec1(); else if(condition2) exec2(); else execFalse()
如果您遇到第二个 if 语句也执行的问题,您希望强制互斥,即在每个后续条件中使用 else if
而不是仅使用 if
。
【讨论】:
哈哈。这是一个报告软件。它不是日食或任何东西的替代品。它似乎不喜欢其他人。还是谢谢 hmm,所以您将这些命令输入到像单行控制台之类的东西中?我知道了。好吧,如果它不“喜欢” else,那么三元运算符就是您的解决方案。【参考方案2】:将值保存到不同的变量中。
function hideTable()
var table = document.getElementById('PDemo');
var width = table.style.width;
if(width == "50%") table.style.width = "150px";
if(width == "150px") table.style.width = "50%";
【讨论】:
但最后不应该改table.style.width
吗?否则,该功能似乎根本没有做太多事情。【参考方案3】:
如果您不能使用else
(那是疯狂),请使用switch
。
switch (table.style.width)
case '50%':
...
break;
case '150px':
...
break;
【讨论】:
【参考方案4】:if(/*condition a*/)/*statements a*/else if(/*condition b*/)/*statements b*/else/*statements c/*
只有一行。
【讨论】:
【参考方案5】:为了唯一性,使用 while 循环。
while (!resized)
if(width == "50%") table.style.width = "150px";resized=true;break;
if(width == "150px") table.style.width = "50%";resized=true;break;
resized=true;
【讨论】:
我更喜欢do //Stuff while (0);
成语。【参考方案6】:
&& 运算符称为短路运算符。它将根据第一个操作数的值返回第二个操作数的值。
例如:(解释:如果permArray中存在'profile'权限,则加载用户的个人资料)
isPermitted(permArray, 'profile') && loadProfile();
&& 运算符对于在访问其属性之前检查空对象也很有用。比如……
var name = person && person.getName();
【讨论】:
是的,但这如何回答这个问题?以上是关于如何在 JavaScript 中编写没有“else”的 IF else 语句 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有 2 个 if 语句的情况下在 JSX 中添加 If...Else 语句?
如何在 javascript 中的 if/else 中添加“和”
如何在 SQL 查询中动态跳过没有 If else 的 where 子句?