判斷一個對象是否為jquery對象使用“instanceof”運算符;instanceof運算符可以判斷一個對象是否為某指定數(shù)據(jù)類型,語法為“if(對象變量 instanceof jQuery){//是jQ對象}else{//不是}”。
本教程操作環(huán)境:windows7系統(tǒng)、jquery1.10.2版本、Dell G3電腦。
判斷一個對象是否為jquery對象使用“instanceof”運算符。
instanceof
:判斷一個對象是否為某一數(shù)據(jù)類型,或一個變量是否為一個對象的實例;返回boolean類型
示例:
var obj = $("div"); if(obj instanceof jQuery){ alert("這是一個jQuery對象"); }else{ alert("這是一個其它對象") }
說明:instanceof和typeof都能用來判斷一個變量是否為空或是什么類型的變量。
typeof:用以獲取一個變量的類型,typeof一般只能返回如下幾個結(jié)果:number、boolean、string、function、object、undefined。
我們可以使用typeof來獲取一個變量是否存在,如if(typeof a!="undefined"){}
,而不要去使用if(a)因為如果a不存在(未聲明)則會出錯,對于Array、Null等特殊對象使用typeof 一律返回object,這正是typeof的局限性。
如果我們希望獲取一個對象是否是數(shù)組,或判斷某個變量是否是某個對象的實例則要選擇使用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去測試會發(fā)現(xiàn)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會有些區(qū)別
alert(typeof(window) //會得 object
【推薦學(xué)習(xí):jQuery視頻教程、web前端開發(fā)】