我对JavaScript很陌生,所以我仍然会遇到一些我不太了解的小东西,当我搜索它们时似乎没有出现。 请有人能指出我的意思吗? :语法在下面做。
var chCode = ('charCode' in event) ? event.charCode : event.keyCode;
答案 0 :(得分:9)
这称为ternary operator。这是一个简短的if...else
声明。
基本上,您的代码可以扩展到此。
var chCode;
if ('charCode' in event) {
chCode = event.charCode;
} else {
chCode = event.keyCode;
}
答案 1 :(得分:1)
是三元运算符
?:运算符可用作if ... else语句的快捷方式。它通常用作较大表达式的一部分,其中if ... else语句会很笨拙。
var chCode = ('charCode' in event) ? event.charCode : event.keyCode;
与
相同var chCode;
if ('charCode' in event) {
chCode = event.charCode;
} else {
chCode = event.keyCode;
}
test ? expression1 : expression2
expression1 =如果test为真,则返回一个表达式 expression2 = when false
答案 2 :(得分:1)
您的代码使用?
应该看起来像
var chCode = ('charCode' in event) ? event.charCode : event.keyCode;
if('charCode' in event){
chCode = event.charCode;
} else {
chCode = event.keyCode;
}
答案 3 :(得分:1)
正如其他人所说,这是一个三元组。
你可以用它来表达它......
var chCode = event.charCode || event.keyCode;
答案 4 :(得分:0)
翻译:
var chCode;
if ('charCode' in event) chCode = event.charCode
else chCode = event.keyCode;
答案 5 :(得分:0)
event.keyCode:返回按键事件中的非字符键的Unicode值或任何其他类型键盘事件中的任何键。
event.charCode:返回按键事件期间按下的字符键的Unicode值。
-