osa*_*ami 5 javascript syntax conditional-operator
以下Javascript语法是什么意思?请描述整个语法:
var x = 0;
x > 0 ? 1 : -1; // confused about this line
alert(x);
Run Code Online (Sandbox Code Playgroud)
Mad*_*iha 20
这本身就没有任何意义.你将警告x
的值,即0,就是这样.除非你把它分配给某个东西,否则第二个陈述毫无意义.但是,如果你这样做了:
var x=0;
var y = x > 0 ? 1 : -1;
alert(y);
Run Code Online (Sandbox Code Playgroud)
你会得到-1.
条件运算符是IF语句的简写,它基本上说:
断言如果
x > 0
.如果是,则指定1.如果不是,则指定-1.
或者更一般的形式:
CONDITION ? VALUE_IF_TRUE : VALUE_IF_FALSE;
Run Code Online (Sandbox Code Playgroud)
哪里:
CONDITION
- 可以是任何评估为布尔值的东西(即使在类型杂耍之后).VALUE_IF_TRUE
- CONDITION
声明的情况下要返回的值TRUE
.VALUE_IF_FALSE
- CONDITION
声明的情况下要返回的值FALSE
.它将是-1。这称为三元运算符。
基本上它扩展到此(假设您打算放在x=
第二行的开头)。
if(x>0){
x = 1
} else {
x = -1
}
Run Code Online (Sandbox Code Playgroud)