ホームページ > 記事 > ウェブフロントエンド > jquery オブジェクトにどの演算子を使用するかどうかを決定する
「instanceof」演算子を使用して、オブジェクトが jquery オブジェクトであるかどうかを判断します。instanceof 演算子は、オブジェクトが指定されたデータ型であるかどうかを判断できます。構文は「if (オブジェクト変数 instanceof jQuery) {//これは jQ オブジェクトです }else{//Not}"。
このチュートリアルの動作環境: Windows7 システム、jquery1.10.2 バージョン、Dell G3 コンピューター。
"instanceof" 演算子を使用して、オブジェクトが jquery オブジェクトかどうかを判断します。
instanceof
: オブジェクトが特定のデータ型であるかどうか、または変数がオブジェクトのインスタンスであるかどうかを判断し、ブール型を返します
例:
var obj = $("div"); if(obj instanceof jQuery){ alert("这是一个jQuery对象"); }else{ alert("这是一个其它对象") }
説明: Instanceof と typeof は、変数が空かどうか、または変数の型を判断するために使用できます。
typeof: 変数の型を取得するために使用されます。Typeof は通常、数値、ブール値、文字列、関数、オブジェクト、未定義の結果のみを返します。
変数が存在するかどうかを取得するには、if(a) を使用する代わりに、if(typeof a!="unknown"){}
のように typeof を使用できます。これは、a が存在しないためです。 (宣言されていない) とエラーが発生します。配列や Null などの特殊なオブジェクトに typeof を使用すると、常にオブジェクトが返されます。これは typeof の制限です。
オブジェクトが配列であるかどうかを取得したい場合、または変数がオブジェクトのインスタンスであるかどうかを判断したい場合は、instanceof
の使用を選択する必要があります。
instanceof は、
var a=new Array(); alert(a instanceof Array); //会返回true alert(a instanceof Object) //也会返回true;这是因为Array是object的子类 function test(){}; var a=new test(); alert(a instanceof test) //会返回true
関数の引数など、変数がオブジェクトのインスタンスであるかどうかを判断するために使用されます。引数は配列であると誰もが考えるかもしれません。ただし、Instaceof テストを使用すると、見た目は似ていますが、引数が Array オブジェクトではないことがわかります。
テスト
var a=new Array(); if (a instanceof Object) alert('Y'); else alert('N'); //Y
ただし:
if (window instanceof Object) alert('Y'); else alert('N'); //N
したがって、ここでinstanceofによってテストされるオブジェクトは、domモデルオブジェクトではなく、js構文のオブジェクトを参照します。
typeof を使用する場合、いくつかの違いがあります
alert(typeof(window) //会得 object
[推奨学習: jQuery ビデオ チュートリアル 、Web フロントエンド開発]
以上がjquery オブジェクトにどの演算子を使用するかどうかを決定するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。