谁能给我解释一下这个javascript语句吗?

谁能给我解释一下这个javascript语句吗?,javascript,Javascript,我正在从事一个需要大量javascript编码的项目。我是Javascript新手 刚找到一个代码,但无法理解。谁能给我解释一下吗?我试图寻找答案,但没有结果 var keyCode = (e.keyCode ? e.keyCode : e.which); 我只想知道在上面的代码中“?”和“:”是什么意思。有没有其他的写作方法 非常感谢。这是if/else的简写 var keyCode; if (e.keyCode) { keyCode = e.keyCode; } else {

我正在从事一个需要大量javascript编码的项目。我是Javascript新手

刚找到一个代码,但无法理解。谁能给我解释一下吗?我试图寻找答案,但没有结果

var keyCode = (e.keyCode ? e.keyCode : e.which);
我只想知道在上面的代码中“?”和“:”是什么意思。有没有其他的写作方法


非常感谢。

这是if/else的简写

var keyCode;
if (e.keyCode) {
    keyCode = e.keyCode;
} else {
    keyCode = e.which;
}
var keyCode;
if (e.keyCode) {
    keyCode = e.keyCode;
} else {
    keyCode = e.which;
}

这是if/else的简写

var keyCode;
if (e.keyCode) {
    keyCode = e.keyCode;
} else {
    keyCode = e.which;
}

您看到的语法称为三元运算符。当<代码>如果。。。否则…语句可能不必要或太长。你会在上面的条件变量赋值中看到很多

基本上,语法如下所示:

([要测试的条件]?[如果为真我们该怎么办]:[如果为假我们该怎么办])

这是英语的简写

if([condition to test]) {
    [what should we do if true];
}
else {
    [what should we do if false];
}
在该示例中,我们试图分配
var-keyCode
。由于某些浏览器使用
e.which
传递按键的数字值,因此我们必须考虑
e.keyCode
e.which
,并分配适当的值


还需要注意:
e.keyCode
不一定是布尔值。然而,在JavaScript中,任何变量都可以解释为布尔值
e.keyCode
如果未定义,则具有布尔值
false

您看到的语法称为三元运算符。当<代码>如果。。。否则…语句可能不必要或太长。你会在上面的条件变量赋值中看到很多

基本上,语法如下所示:

([要测试的条件]?[如果为真我们该怎么办]:[如果为假我们该怎么办])

这是英语的简写

if([condition to test]) {
    [what should we do if true];
}
else {
    [what should we do if false];
}
在该示例中,我们试图分配
var-keyCode
。由于某些浏览器使用
e.which
传递按键的数字值,因此我们必须考虑
e.keyCode
e.which
,并分配适当的值


还需要注意:
e.keyCode
不一定是布尔值。然而,在JavaScript中,任何变量都可以解释为布尔值
e.keyCode
如果未定义,则具有布尔值
false

它是and
if/else
语句的缩写。我永远记不起它的名字了。看我的答案,它叫三元运算符。它是三元运算符,它的真名是;它是and
if/else
语句的简写形式。我永远记不起它的名字了。看我的答案,它叫三元运算符。它是三元运算符,它的真名是;