關(guān)于JavaScript和jQuery的類型判斷詳解
對于類型的判斷,JavaScript用typeof來進(jìn)行。
栗子:
console.log(typeof null); //object
console.log(typeof []); //object
console.log(typeof {}); //object
console.log(typeof new Date()); //object
console.log(typeof new Object); //object
console.log(typeof function(){}); //function
console.log(typeof alert); //function
console.log(typeof 1); //number
console.log(typeof "abc"); //string
console.log(typeof true); //boolean
可以看到,typeof并不能夠準(zhǔn)確的判斷出每一種數(shù)據(jù)類型,比如null和數(shù)組等都是object類型。因此,JavaScript判斷數(shù)據(jù)類型不推薦使用typeof。
那么要如何具體判斷呢??看一下語法<( ̄3 ̄)> !
{}.toString.call(obj);
栗子:
console.log({}.toString.call(null)); //[object Null]
console.log({}.toString.call([])); //[object Array]
console.log({}.toString.call({})); //[object Object]
console.log({}.toString.call(new Date())); //[object Date]
console.log({}.toString.call(function(){})); //[object Function]
console.log({}.toString.call(new Object)); //[object Object]
console.log({}.toString.call(alert)); //[object Function]
console.log({}.toString.call(1)); //[object Number]
console.log({}.toString.call('abc')); //[object String]
console.log({}.toString.call(true)); //[object Boolean]
哈哈,是不是一目了然呀??!
那如果你用的是jQuery,就不用這么麻煩嘍,可以直接用工具方法$.type(),進(jìn)行判斷
栗子:
console.log($.type(null)); //null
console.log($.type([])); //array
console.log($.type({})); //object
console.log($.type(1)); //number
......不全寫完了,結(jié)果和{}.toString.call(obj);是一樣的
實(shí)際上{}.toString.call(obj);就是jQuery中$.type()這個(gè)工具方法的實(shí)現(xiàn)最重要的一段代碼(⊙o⊙)哦,神奇吧!趕快去jQuery源碼中找找看吧~~
以上就是小編為大家?guī)淼年P(guān)于JavaScript和jQuery的類型判斷詳解全部內(nèi)容了,希望大家多多支持腳本之家~
相關(guān)文章
jQuery實(shí)現(xiàn)帶幻燈的tab滑動(dòng)切換風(fēng)格菜單代碼
這篇文章主要介紹了jQuery實(shí)現(xiàn)帶幻燈的tab滑動(dòng)切換風(fēng)格菜單代碼,可實(shí)現(xiàn)點(diǎn)擊菜單項(xiàng)進(jìn)行對應(yīng)內(nèi)容的滑動(dòng)切換功能,涉及jquery鼠標(biāo)事件及頁面元素屬性的動(dòng)態(tài)操作技巧,需要的朋友可以參考下2015-08-08
jQuery插件imgPreviewQs實(shí)現(xiàn)上傳圖片預(yù)覽
這篇文章主要介紹了jQuery插件imgPreviewQs實(shí)現(xiàn)上傳圖片預(yù)覽的相關(guān)資料,需要的朋友可以參考下2016-01-01
jQuery的Ajax的自動(dòng)完成功能控件簡要說明
jQuery的Ajax的自動(dòng)完成功能 允許您輕松地創(chuàng)建自動(dòng)完成/自動(dòng)提示框的文本輸入字段;如果沒有特定查詢的結(jié)果,它停止發(fā)送請求到服務(wù)器的其他查詢感興趣的朋友可以參考下啊2013-02-02
jquery中的$(document).ready()與window.onload的區(qū)別
瀏覽器執(zhí)行window.onload函數(shù)不僅僅是在構(gòu)建完DOM樹之后, 也是在所有圖像和其他外部資源完整的加載并且在瀏覽器窗口顯示完畢之后.2009-11-11
jQuery中實(shí)現(xiàn)prop()函數(shù)控制多選框(全選,反選)
下面小編就為大家?guī)硪黄猨Query中實(shí)現(xiàn)prop()函數(shù)控制多選框(全選,反選)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-08-08
jquery通過a標(biāo)簽刪除table中的一行的代碼
刪除table中的一行的方法有很多,在本文為大家介紹下jquery是如何做到的,下面有個(gè)不錯(cuò)的示例,喜歡的朋友可以參考下2013-12-12
快速學(xué)習(xí)jQuery插件 jquery.validate.js表單驗(yàn)證插件使用方法
快速學(xué)習(xí)jQuery插件中的jquery.validate.js表單驗(yàn)證插件使用方法,Validation是歷史最悠久的jQuery插件之一,經(jīng)過了全球范圍內(nèi)不同項(xiàng)目的驗(yàn)證,并得到了許多Web開發(fā)者的好評,感興趣的小伙伴們可以參考一下2015-12-12

