js和jquery判斷資料型別的4種方法總結
阿新 • • 發佈:2020-08-31
1.typeof
typeof是一個運算子,有2種使用方式:typeof(表示式)和typeof 變數名,第一種是對錶達式做運算,第二種是對變數做運算。
此方法的返回結果只要以下幾種:
Number、String、undefined、Bollean、Object、Function
弊端在於如果資料型別為引用資料型別,他只能返回 Object
console.log(typeof 1); //number console.log(typeof true); //bollean console.log(typeof '歡喜'); //string console.log(typeof {}); //object console.log(typeof []); //object
2.toString.call()
console.log(toString.call(666)); //[object Number] console.log(toString.call(true)); //[object Boolean] console.log(toString.call('歡喜')); //[object String] console.log(toString.call(undefined)); //[object Undefined] console.log(toString.call({})); //[object Object] console.log(toString.call([])); //[object Array] console.log(toString.call(function(){})); //[object Function]
3.instanceof
在 JavaScript 中,判斷一個變數的型別嚐嚐會用 typeof 運算子,在使用 typeof 運算子時採用引用型別儲存值會出現一個問題,無論引用的是什麼型別的物件,它都返回 “object”。ECMAScript 引入了另一個 Java 運算子 instanceof 來解決這個問題。instanceof 運算子與 typeof 運算子相似,用於識別正在處理的物件的型別。與 typeof 方法不同的是,instanceof 方法要求開發者明確地確認物件為某特定型別。
A instanceof B 可以判斷A是不是B的例項,返回一個布林值,由構造型別判斷出資料型別
console.log(arr instanceof Array ); // true console.log(date instanceof Date ); // true console.log(fn instanceof Function ); // true
4.根據物件的 contructor 判斷
console.log(arr.constructor === Array); //true console.log(date.constructor === Date); //true console.log(fn.constructor === Function); //true
JQuery 中判斷資料型別的方法
返回一個布林值
jQuery物件.isArray(); //判斷是否為陣列 jQuery物件.isEmptyObject(); //判斷是否為空物件 jQuery物件.isFunction(): //判斷是否為函式 jQuery物件.isNumberic(): //判斷是否為數字 jQuery物件.isWindow(): //判斷是否為window物件 jQuery物件.isXMLDoc(): //判斷判斷一個DOM節點是否處於XML文件中
總結
到此這篇關於js和jquery判斷資料型別的4種方法的文章就介紹到這了,更多相關js和jquery判斷資料型別內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!