所以我使用了一個在線JavaScript優化器,它對我的新的IF語句做了一些奇怪的事情。這是什麼樣的聲明?
{1===a?window.addEventListener("scroll",turnOff):0===a&&window.removeEventListener("scroll",turnoff)}
這是什麼?請幫助我瞭解它的各個部分。
所以我使用了一個在線JavaScript優化器,它對我的新的IF語句做了一些奇怪的事情。這是什麼樣的聲明?
{1===a?window.addEventListener("scroll",turnOff):0===a&&window.removeEventListener("scroll",turnoff)}
這是什麼?請幫助我瞭解它的各個部分。
三個等號是嚴格比較運算符的表示。與通常的雙等號不同,使用===
將type
與正在比較的表達式的值進行比較。類型和值必須相同才能將語句評估爲true。
?
和:
是if
語句的簡寫形式。當1===a
爲真時,評估問號後面的語句。否則,評估冒號後面的語句。這個簡寫版本的if
聲明被稱爲有條件(或三元)運算符。
謝謝你,這些都是很好的答案,但是你對我來說很愚蠢XD那麼你能告訴我&&的目的嗎?爲什麼是0 === a &&而不是0 === a? ? – Sebastian 2014-09-29 00:11:50
@Sebastian:閱讀初學者的教程,您將學習所有關於基本JavaScript運算符的知識。 – 2014-09-29 00:16:27
我做到了:3我知道它的顯然和(和)運營商,但它在這個聲明中的目的是什麼。 Andddd,因爲我正在輸入這個我剛剛得到它.. lmao。但是爲了安全起見,它也檢查是否0 === 1,那麼&&也在說如果它被證明是真的,也要這樣做。否則,這兩個陳述都沒有使 – Sebastian 2014-09-29 00:21:15
The?運算符只用作if。
if(a){
b;
} else {
c;
}
等於
a ? b : c;
我不記得名字,但它的工作作爲一個if語句。它的結構如下:
condition ? code if true : code if false
它被稱爲三元運算符。
window.addEventListener("scroll",turnOff)
和第二如果假:它,如果該條件爲真比較條件
if a === 1
並返回第一個結果
0===a&&window.removeEventListener("scroll",turnoff)
此行的代碼執行兩件事,將等於0並刪除事件監聽河
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator – jayelm 2014-09-28 23:55:00
這是一個[條件( '三元')運算](HTTPS ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator)。 – 2014-09-28 23:55:05