程式碼片段:if(v && document.getElementById(s[v-1]).selectedIndex>0 || !v),其中 v 為 0~2 整數。
| 值 | Boolean | 說明 |
|---|---|---|
0 | false | 唯一數字假值 |
非 0 (含負數) | true | |
"" (空字串) | false | |
非空字串 | true | |
null/undefined/NaN | false | |
物件/陣列 | true | 包含空陣列 [] |
if ( v // v 非 0 時為 true
&& document.getElementById(s[v-1]).selectedIndex > 0 // 且上一個下拉選單已選擇 (非預設)
|| !v ) // 或 v === 0 (第一個下拉選單)
v === 0:第一層選單 (省份),無前置條件,直接載入城市。v > 0:第二/三層選單,需上一層 selectedIndex > 0 (已選非預設) 才載入下層。if (v !== 0)、if (v === 0),避免隱性轉換造成誤讀。!!v 顯式轉布林:const hasValue = !!v;。JavaScript 條件判斷核心:**只有 0、空字串、null、undefined、NaN 為假,其餘皆為真**。