簡體   English   中英

javascript:檢查 boolean 值

[英]javascript : checking boolean values

我有一個 boolean 值設置為表單中的隱藏變量,我有以下 javascript。

         $().ready(function() {

             var flag =  $('#popUpFlag').val();

             alert("flag = "+flag);

             if(flag){
                alert("flag is true");
             }else{
                alert("flag is false");
             }
        })

這些是警報的輸出。

         flag =
         flag is false


         flag = false
         flag is false


         flag = true
         flag is false

我關心的顯然是第三個 output。 當標志為真時,為什么打印“標志為假”,而不是“標志為真”。 我在 IE8 和 FF 4 中測試過

歡迎提出建議。

不,您在隱藏字段中沒有 boolean 值。 字段中的值始終是字符串。

當您像使用 boolean 值一樣使用字符串值時,您會得到意想不到的結果。 如果值為false0""null ,則條件為 false ,但字符串"false"兩者都不是,因此它被評估為true

如果你想要一個 boolean 值,你必須解析字符串。 一種簡單的方法是簡單地檢查字符串是否具有特定值:

var flag =  $('#popUpFlag').val() === 'true';

flag是一個字符串,所以用這個代替:

if (flag === "true") {
  //true
}
else if (flag === "false") {
  //false
}

嗯...我懷疑您使用的值是一個字符串,因此您在警報中正確地看到了該值,但當它試圖像 boolean 一樣查看它時卻沒有。

如何在 JavaScript 中將字符串轉換為 boolean?

只需嘗試轉換為 boolean 看看它是否仍然給您同樣的問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM