判斷一個物件是否為jquery物件使用「instanceof」運算子;instanceof運算子可以判斷一個物件是否為某指定資料類型,語法為「if(物件變數instanceof jQuery){//是jQ物件}else{//不是}」。
本教學操作環境:windows7系統、jquery1.10.2版本、Dell G3電腦。
判斷一個物件是否為jquery物件使用「instanceof」運算子。
instanceof
:判斷一個物件是否為某一資料類型,或一個變數是否為一個物件的實例;傳回boolean類型
範例:
var obj = $("div"); if(obj instanceof jQuery){ alert("这是一个jQuery对象"); }else{ alert("这是一个其它对象") }
說明:instanceof和typeof都能用來判斷一個變數是否為空或是什麼類型的變數。
typeof:用來取得一個變數的型別,typeof一般只能回傳以下幾個結果:number、boolean、string、function、object、undefined。
我們可以用typeof來取得一個變數是否存在,如if(typeof a!="undefined"){}
,而不要去用if(a)因為如果a不存在(未宣告)則會出錯,對於Array、Null等特殊物件使用typeof 一律傳回object,這正是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
function的arguments,我們大家也許都認為arguments是一個Array,但如果使用instaceof去測試會發現arguments不是一個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測試的object是指js語法中的object,不是指dom模型物件。
使用typeof會有些差異
alert(typeof(window) //会得 object
【推薦學習:jQuery影片教學、web前端開發】
以上是判斷是否為jquery物件使用什麼運算符的詳細內容。更多資訊請關注PHP中文網其他相關文章!