Javascript 这个声明的结尾部分是做什么的?

Javascript 这个声明的结尾部分是做什么的?,javascript,Javascript,我刚收到这封信,不确定变量声明的最后一部分: var u=(document.getElementById('myaccount').className.match(/loggedin/)?'真’:‘假’ 从我所看到的,这是对字符串“loggedin”执行模式匹配,但是结尾是什么真’:‘假’部分做什么 我以前从未见过这样的情况,所以我不确定……这是一个三元if/else语句 如果className.match(/logged/)的计算结果为true,则返回true,否则返回false 更经典的写

我刚收到这封信,不确定变量声明的最后一部分:

var u=(document.getElementById('myaccount').className.match(/loggedin/)?'真’:‘假’

从我所看到的,这是对字符串“loggedin”执行模式匹配,但是结尾是什么真’:‘假’部分做什么


我以前从未见过这样的情况,所以我不确定……

这是一个三元if/else语句

如果className.match(/logged/)的计算结果为true,则返回true,否则返回false

更经典的写作方式

var u;
if(document.getElementById('myaccount').className.match(/loggedin/)) {
    u = true;
} else {
    u = false;
}
return u;

这是一个三元if/else语句

如果className.match(/logged/)的计算结果为true,则返回true,否则返回false

更经典的写作方式

var u;
if(document.getElementById('myaccount').className.match(/loggedin/)) {
    u = true;
} else {
    u = false;
}
return u;
内联if

condition_check ? result if true : result if false
内联if

condition_check ? result if true : result if false

这叫做三元if语句


如果您的myaccount元素有一个类“loggedin”,变量u将设置为TRUE。否则它将被设置为FALSE。

它被称为三元if语句


如果您的myaccount元素有一个类“loggedin”,变量u将设置为TRUE。否则它将被设置为FALSE。

这是三元运算符,它可以是这样的:

result = condition ? value_if_true : value_if_false;
这只是以下的简写:

if(condition == true) {

    result = value_if_true;

} else {

    result = value_if_false;

}
条件
部分可以是变量、函数或表达式,因此以下各项均有效:

result = myVariable ? value if true : value if false;

result = myFunction() ? value if true : value if false;

result = (myVariable > 10) ? value if true : value if false;

这是三元运算符,它可以是这样的:

result = condition ? value_if_true : value_if_false;
这只是以下的简写:

if(condition == true) {

    result = value_if_true;

} else {

    result = value_if_false;

}
条件
部分可以是变量、函数或表达式,因此以下各项均有效:

result = myVariable ? value if true : value if false;

result = myFunction() ? value if true : value if false;

result = (myVariable > 10) ? value if true : value if false;

这是另一种声明if语句的方法

<condition> ? <return if condition is true> : <return if condition is false>

这是另一种声明if语句的方法

<condition> ? <return if condition is true> : <return if condition is false>

太好了,谢谢你。非常简洁的缩短
if
的方法!我完全同意这一点,但为了好玩,我想补充一下?:构造有时也被称为猫王操作符。看看这些角色,你就会明白为什么:-)太好了,谢谢你。非常简洁的缩短
if
的方法!我完全同意这一点,但为了好玩,我想补充一下?:构造有时也被称为猫王操作符。看看这些角色,你就会明白为什么:-)