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