繁体   English   中英

有人可以向我解释这个javascript语句吗?

[英]Can somebody explain this javascript statement to me?

我正在一个需要大量JavaScript编码的项目中。 而且我是Java的新手。

刚刚找到一个代码,但是不明白。 有人可以向我解释吗? 我试图寻找答案,但没有结果。

var keyCode = (e.keyCode ? e.keyCode : e.which);

我只是想知道什么? 和':'在上面的代码中表示。 还有其他替代的编写方式吗?

非常感谢。

您看到的语法称为三元运算符 if... else...语句可能不必要或太长时,通常使用它。 在上面的条件变量分配中,您会看到很多。

基本上,语法是这样的:

([condition to test] ? [what should we do if true] : [what should we do if false])

它是速记

if([condition to test]) {
    [what should we do if true];
}
else {
    [what should we do if false];
}

在该示例中,我们尝试分配var keyCode 由于某些浏览器使用e.which来传递按下的键的数字值,因此我们必须考虑e.keyCodee.which并分配适当的值。

同样要注意的重要事项e.keyCode不一定是布尔值。 但是,在JavaScript中, 任何变量都可以解释为布尔值。 e.keyCode布尔值false如果未定义)。

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;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM