未定義の変数のチェックを追加する方法は、次のとおりです。
function A(val) {
if (val == undefined)
// do this
else
// do this
}
JQueryライブラリは、特定のJavaScript機能を単純化し、統一するために特別に開発されました。
しかし、undefined
の値に対して変数をチェックする必要がある場合、JavaScriptには typeof
という演算子があるため、特別なメソッドを作成する必要はありません。
if (typeof value === "undefined") {
// ...
}
変数または他の未評価のオペランドの型を示す文字列を返します。 if (value === undefined) { ... }
と比較した場合のこのメソッドの主な利点は、変数typeof
が存在しない場合にvalue
が例外を発生させないことです。
この場合、=== undefined
比較を使用できます。if(val === undefined)
これはval
が常に 存在する (それが関数の引数である)ためにうまくいきます。
引数ではない、つまりまったく定義されていない任意の変数をテストしたい場合は、val
が存在しない場合に例外を回避するためにif(typeof val === 'undefined')
を使用する必要があります。
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
"をテストしているとき、たとえobjが未定義でも、alert(typeof obj)
はobject
を返します。 objはObject
の型であるため、返されるObject
はundefined
ではありません。
それで、何時間ものテストの後、私は以下のテクニックを選びました。
if(document.getElementById(obj) !== null){
//do...
}else{
//do...
}
私はなぜ最初のテクニックがうまくいかなかったのかわからない。
それが最善の解決策であるかどうかはわかりませんが、うまくいきます。
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 )
あなたが要素の名前を持っていて、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')
}
})