[英]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.keyCode
或e.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.