189

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

次のような未定義の変数のチェックを追加する方法:

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

11 に答える 11

425

JQuery ライブラリは、特定の JavaScript 機能を簡素化および統合するために特別に開発されました。

ただし、値に対して変数をチェックする必要がある場合undefined、JavaScript にtypeofは単純で高速なクロスプラットフォームの演算子があるため、特別なメソッドを発明する必要はありません。

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

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

于 2012-05-18T13:17:12.360 に答える
29

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

これはval常に存在するため機能します(これは関数の引数です)。

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

于 2012-05-18T13:24:52.060 に答える
16

typeof は常に文字列を返し、変数がまったく存在しない場合でもエラーを生成しないことに注意してください。

function A(val){
  if(typeof(val)  === "undefined") 
    //do this
  else
   //do this
}
于 2012-05-18T13:18:07.540 に答える
4
if (value === undefined) {
    // ...
}
于 2018-02-27T11:53:46.260 に答える
4

簡略手法を使用して、未定義またはnullであるかどうかを確認できます

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

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

于 2015-06-03T10:41:44.070 に答える
0

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')
    }
  })
于 2015-10-14T14:29:42.153 に答える
0

それが最善の解決策かどうかはわかりませんが、うまく機能します:

if($someObject['length']!=0){
    //do someting
}
于 2016-02-24T09:25:20.533 に答える