簡體   English   中英

如何檢查 jQuery 中的“未定義”值

[英]How to check 'undefined' value in jQuery

可能重復:
在 JavaScript 中檢測未定義的 object 屬性
javascript 未定義比較

我們如何添加對未定義變量的檢查,例如:

function A(val) {
  if (val == undefined) 
    // do this
  else
    // do this
}

JQuery庫是專門為簡化和統一某些JavaScript功能而開發的。

但是,如果需要根據undefined值檢查變量,則無需創建任何特殊方法,因為JavaScript具有typeof運算符,該運算符簡單,快速且跨平台:

if (typeof value === "undefined") {
    // ...
}

它返回一個字符串,指示變量的類型或其他未評估的操作數。 if (value === undefined) { ... }相比,此方法的主要優點是,如果變量value不存在, typeof將永遠不會引發異常。

在這種情況下,您可以使用=== undefined比較: if(val === undefined)

這是有效的,因為val總是存在 (它是一個函數參數)。

如果你想測試一個不是參數的任意變量,即可能根本沒有定義,你必須使用if(typeof val === 'undefined')來避免在val不存在的情況下發生異常。

請注意,typeof始終返回一個字符串,如果該變量根本不存在,則不會生成錯誤。

function A(val){
  if(typeof(val)  === "undefined") 
    //do this
  else
   //do this
}

我知道我遲到了回答這個函數,但是jquery有一個構建函數來執行此操作

if(jQuery.type(val) === "undefined"){
    //Some code goes here
}

請參閱jquery.type https://api.jquery.com/jQuery.type/的 jquery API文檔。

您可以使用速記技術來檢查它是未定義還是null

 function A(val)
 {
   if(val || "") 
   //do this
 else
 //do this
 }

希望對你有幫助

if (value === undefined) {
    // ...
}

當我測試“ typeof obj === undefined ”時, alert(typeof obj)返回object ,即使obj未定義。 由於obj是Object類型,它返回Object ,而不是undefined

經過幾個小時的測試后,我選擇了以下技術。

if(document.getElementById(obj) !== null){
//do...
}else{
//do...
}

我不確定為什么第一種技術不起作用。但是我用這個完成了我的工作。

如果您有元素的名稱而不是id,我們可以在下面的所有文本元素(例如)上實現未定義的檢查,並使用默認值填充它們,如0.0:

var aFieldsCannotBeNull=['ast_chkacc_bwr','ast_savacc_bwr'];
 jQuery.each(aFieldsCannotBeNull,function(nShowIndex,sShowKey) {
   var $_oField = jQuery("input[name='"+sShowKey+"']");
   if($_oField.val().trim().length === 0){
       $_oField.val('0.0')
    }
  })

我不確定它是最好的解決方案,但它運行正常:

if($someObject['length']!=0){
    //do someting
}
function isValue(value, def, is_return) {
    if ( $.type(value) == 'null'
        || $.type(value) == 'undefined'
        || $.trim(value) == ''
        || ($.type(value) == 'number' && !$.isNumeric(value))
        || ($.type(value) == 'array' && value.length == 0)
        || ($.type(value) == 'object' && $.isEmptyObject(value)) ) {
        return ($.type(def) != 'undefined') ? def : false;
    } else {
        return ($.type(is_return) == 'boolean' && is_return === true ? value : true);
    }
}

試試這個〜所有類型的檢查器

您可以使用兩種方式1) if ( val == null ) 2) if ( val === undefine )

檢查是否未定義

if(typeof myVal === "undefined") {
   //some code
}

檢查 undefined 或 null 或 empty 或 false 或 0

if(!myVal) {
   // some code
} else {
   // myVal is flawless 
}

暫無
暫無

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

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