web-dev-qa-db-ja.com

JQueryで 'undefined'値を確認する方法

可能な重複:
JavaScriptで未定義のオブジェクトプロパティを検出する
JavaScript未定義の比較

未定義の変数のチェックを追加する方法は、次のとおりです。

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

JQueryライブラリは、特定のJavaScript機能を単純化し、統一するために特別に開発されました。

しかし、undefinedの値に対して変数をチェックする必要がある場合、JavaScriptには typeof という演算子があるため、特別なメソッドを作成する必要はありません。

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

変数または他の未評価のオペランドの型を示す文字列を返します。 if (value === undefined) { ... }と比較した場合のこのメソッドの主な利点は、変数typeofが存在しない場合にvalueが例外を発生させないことです。

347
VisioN

この場合、=== undefined比較を使用できます。if(val === undefined)

これはvalが常に 存在する (それが関数の引数である)ためにうまくいきます。

引数ではない、つまりまったく定義されていない任意の変数をテストしたい場合は、valが存在しない場合に例外を回避するためにif(typeof val === 'undefined')を使用する必要があります。

25
ThiefMaster

Typeofは常に文字列を返し、変数がまったく存在しない場合でもエラーにはなりません。

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

私はこの機能に答えるのが遅れていることを知っていますが、jqueryにはこれを行うためのビルド機能があります。

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

Jquery.type https://api.jquery.com/jQuery.type/ のjquery APIドキュメントを参照してください。

10
Arpita

あなたはそれが未定義であるかnullであるかをチェックするために速記のテクニックを使うことができます

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

これがあなたを助けることを願っています

2
Rohidas Kadam
if (value === undefined) {
    // ...
}
2
sandeep kumar

私が "typeof obj === undefined"をテストしているとき、たとえobjが未定義でも、alert(typeof obj)objectを返します。 objはObjectの型であるため、返されるObjectundefinedではありません。

それで、何時間ものテストの後、私は以下のテクニックを選びました。

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

私はなぜ最初のテクニックがうまくいかなかったのかわからない。

1
Sridhar K

それが最善の解決策であるかどうかはわかりませんが、うまくいきます。

if($someObject['length']!=0){
    //do someting
}
0
esdu
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);
    }
}

これを試してください〜すべてのタイプチェッカー

0
MGK

あなたは双方向を使うことができます1)if ( val == null ) 2)if ( val === undefine )

0
Suhag Lapani88

あなたが要素の名前を持っていて、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')
    }
  })
0
Yoosaf Abdulla