JavaScript 如果要判斷變量是否已定義,可以使用 typeof:

實例

if(typeof someVar == 'undefined') {
  document.write("變量 someVar 未定義");
} else {
  document.write("變量 someVar 已定義");
}

嚐試一下 »

JavaScript 如果隻想判斷已定義變量是否為 true 可以直接使用以下方法:

實例

if (strValue) {
    // strValue 為 true 執行的代碼
} else {
    // strValue 為 false 執行的代碼
}

嚐試一下 »

以下使用正則的方法判斷變量是否已定義並且不為空,比較完整的方法:

實例

if ( // 返回判斷的值
        (typeof x == 'undefined')
              ||
        (x == null)
              ||
        (x == false)        //類似: !x
              ||
        (x.length == 0)
              ||
        (x == 0)            // 這裏是判斷 0,不需要刻意去掉
              ||
        (x == "")
              ||
        (x.replace(/\s/g,"") == "")
              ||
        (!/[^\s]/.test(x))
              ||
        (/^\s*$/.test(x))
    ) {
  document.write("變量未定義或為空");
}

嚐試一下 »

也可以封裝一個方法來判斷,包含了空值、0、false 等,適用已定義的變量:

實例

function empty(e) {
  switch (e) {
    case "":
    case 0:
    case "0":
    case null:
    case false:
    case undefined:
      return true;
    default:
      return false;
  }
}

empty(null) // true
empty(0) // true
empty(7) // false
empty("") // true
empty((function() {
    return ""
})) // false

嚐試一下 »