重複の可能性:
JavaScript javascript undefined compare で未定義のオブジェクトプロパティを検出しています
次のように、未定義の変数のチェックを追加する方法:
function A(val) {
if (val == undefined)
// do this
else
// do this
}
重複の可能性:
JavaScript javascript undefined compare で未定義のオブジェクトプロパティを検出しています
次のように、未定義の変数のチェックを追加する方法:
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
が存在しない場合に例外が発生しないことです。
("#myId")
ものでした。このようなことをしている場合は、本当に必要なものを確認してください。typeof ("#myId")=== "undefined"
b。または:typeof ("#myId").val() === "undefined"
("#myId")
は文字列定数に他なりません。常に定義され、タイプがになり"string"
ます。で作成された実際のjQueryオブジェクトを意味する場合$("#myId")
、それは常に"object"
(jQueryが正しくリンクされている場合)として定義されます。IDを持つDOM要素の存在はmyId
で評価できif ($("#myId").length > 0) { ... }
、その値が空でないかどうかの確認はで行うことができますif ($("#myId").val()) { ... }
。これらの条項はどちらも、実際にはこの質問のトピックに関連していません。
value === undefined
場合、simple は例外を発生さvalue
せます。したがって、実際に何を使用するかは完全にあなた次第です。
私は関数に答えるのが遅いのを知っていますが、jqueryにはこれを行うための組み込み関数があります
if(jQuery.type(val) === "undefined"){
//Some code goes here
}
jquery.type https://api.jquery.com/jQuery.type/の jquery APIドキュメントを参照してください。
if (value === undefined) {
// ...
}
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')
}
})
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 )