什么是?:(问号和冒号运算符。条件或“三元”)操作符,我如何使用它?
当前回答
嘿,伙计,记住js是通过求值为真或假来工作的,对吧?
让我们用一个三元运算符:
questionAnswered ? "Awesome!" : "damn" ;
首先,js检查questionAnswered是真还是假。
如果为真(?)你会得到“太棒了!”
否则(:)你会得到“damn”;
希望这对朋友有帮助:)
其他回答
当你拥有的都是符号时,想要谷歌有点困难;)使用的术语是“JavaScript条件运算符”。
如果您在JavaScript中看到更多有趣的符号,您应该首先尝试查找JavaScript的操作符:Mozilla Developer Center的操作符列表。您可能遇到的一个例外是$符号。
为了回答您的问题,条件操作符替换了简单的if语句。最好举个例子:
var insurancePremium = age > 21 ? 100 : 200;
而不是:
var insurancePremium;
if (age > 21) {
insurancePremium = 100;
} else {
insurancePremium = 200;
}
三元运算符
Javascript中通常有条件语句。
例子:
if (true) {
console.log(1)
}
else {
console.log(0)
}
# Answer
# 1
但它包含两行或多行,不能赋值给变量。 Javascript有一个解决这个问题的三元运算符。 三元操作符可以写在一行中并赋值给一个变量。
例子:
var operator = true ? 1 : 0
console.log(operator)
# Answer
# 1
这个三元运算符类似于C编程语言。
它被称为“三元”或“条件”操作符。
例子
?:操作符可以用作 if的快捷方式…else语句。 它通常用作 更大的表达式,其中if…else 声明会很尴尬。为 例子:
var now = new Date();
var greeting = "Good" + ((now.getHours() > 17) ? " evening." : " day.");
这个例子创建了一个字符串 上面写着"晚上好 下午6点之后。使用的等效代码 一个如果…Else语句看起来像 如下:
var now = new Date();
var greeting = "Good";
if (now.getHours() > 17)
greeting += " evening.";
else
greeting += " day.";
来自MSDN JS文档。
基本上这是一个简写的条件语句。
还看到:
Javascript三元运算符的运算符优先级 维基百科
大部分答案都是正确的,但我想再补充一点。三元操作符是右结合的,这意味着它可以以以下方式链接,如果…else-if…else-if…else:
function example() {
return condition1 ? value1
: condition2 ? value2
: condition3 ? value3
: value4;
}
等价于:
function example() {
if (condition1) { return value1; }
else if (condition2) { return value2; }
else if (condition3) { return value3; }
else { return value4; }
}
详情请点击这里
我们可以使用Jquery以及长度的例子如下:
假设我们有一个GuarantorName文本框,它有值,并且想要获取姓和名-它可能是空的。 所以不是
var gnamesplit = $("#txtGuarantorName").val().split(" ");
var gLastName = "";
var gFirstName = "";
if(gnamesplit.length > 0 ){
gLastName = gnamesplit[0];
}
if(gnamesplit.length > 1 ){
gFirstName = gnamesplit[1];
}
We can use below code with Jquery with minimum code var gnamesplit = $("#txtGuarantorName").val().split(" "); var gLastName = gnamesplit.length > 0 ? gnamesplit[0] : ""; var gFirstName = gnamesplit.length > 1 ? gnamesplit[1] : ""; $("#txtLastName").val(gLastName); $("#txtFirstName").val(gFirstName); <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div > Guarantor Name: <input type="text" id="txtGuarantorName" value="ASP.NET Core" /><br/> <br/> <br/> First Name: <input type="text" id="txtLastName" value="ASP.NET Core" /> Last Name: <input type="text" id="txtFirstName" value="ASP.NET Core" /> </div>