我以為我弄清楚了基本的 javascript 邏輯是如何作業的,但是在這里我一定忘記了一些東西。
let firstElementSavedIndex = 1
console.log(firstElementSavedIndex)
firstElementSavedIndex = 0;
console.log(firstElementSavedIndex)
if (firstElementSavedIndex !== undefined || firstElementSavedIndex !== 0) firstElementSavedIndex -= 1;
console.log(firstElementSavedIndex)
我在上面創建的代碼我想用作保護以防止 firstElementSavedIndex 遞減,除非 firstElementSavedIndex 不是未定義或 0。
然而,即使 firstElementSavedIndex 為 0,上面的代碼也會遞減。
我一定缺少一些基本的東西,但到目前為止我還沒有找到任何解決方案。
任何幫助,將不勝感激。
-亨德里克
uj5u.com熱心網友回復:
在 if 塊中,運算式變為
0 !== undefined || 0 !== 0
true || 0 !== 0
true
由于您使用的是對整個運算式的or求值時間,因此代碼進入 if 塊。truetrue
要解決此問題,您需要將條件||替換&&為savedIndex greater than 0.
let firstElementSavedIndex = 1;
console.log(firstElementSavedIndex);
firstElementSavedIndex = 0;
console.log(firstElementSavedIndex);
if (firstElementSavedIndex !== undefined && firstElementSavedIndex > 0) {
firstElementSavedIndex -= 1;
}
console.log(firstElementSavedIndex);
現在它變成了
0 !== undefined && 0 > 0
true && 0 > 0
true && false
false
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/505665.html
標籤:javascript if 语句 条件语句 变量赋值
下一篇:無法從平板掃描中裁剪白色背景
