如何在JavaScript中使用内联if语句?也有内联else语句吗?
就像这样:
var a = 2;
var b = 3;
if(a < b) {
// do something
}
如何在JavaScript中使用内联if语句?也有内联else语句吗?
就像这样:
var a = 2;
var b = 3;
if(a < b) {
// do something
}
当前回答
如果要内联编写if语句,其中的代码应该只有一条语句:
if ( a < b ) // code to be executed without curly braces;
其他回答
内联如果:
(('hypothesis') ? 'truthy conclusion' : 'falsey conclusion')
真结论:当假设为真时执行的陈述
谬误结论:当假设为假时执行的陈述
你的例子:
var c = ((a < b) ? 'a<b statements' : '!(a<b) statements');
我经常需要在每个条件下运行更多的代码,通过使用:(,,)多个代码元素可以执行:
var a = 2;
var b = 3;
var c = 0;
( a < b ? ( alert('hi'), a=3, b=2, c=a*b ) : ( alert('by'), a=4, b=10, c=a/b ) );
这个问题本质上不是:我能写出下面的东西吗?
if (foo)
console.log(bar)
else
console.log(foo + bar)
答案是,是的,上面的内容可以翻译。
但是,在做以下事情时要小心
if (foo)
if (bar)
console.log(foo)
else
console.log(bar)
else
console.log(foobar)
请务必将模棱两可的代码用大括号括起来,因为上述代码将抛出异常(类似的排列将产生不希望看到的行为)。
你可以在JavaScript中这样做:
a < b ? passed() : failed();
供您参考,您可以组合条件操作符
var a = (truthy) ? 1 : (falsy) ? 2 : 3;
如果您的逻辑足够复杂,那么您可以考虑使用IIFE
var a = (function () {
if (truthy) return 1;
else if (falsy) return 2;
return 3;
})();
当然,如果你计划使用这个逻辑不止一次,那么你必须把它封装在一个函数中,以保持它的美观和DRY。