摘要:話不多說,我們開干,加油干貨滿滿今天,我們一起學(xué)習(xí)一下中的數(shù)據(jù)類型檢測相關(guān)的知識(shí),也順便做個(gè)總結(jié)。基本數(shù)據(jù)類型又包括,還有一個(gè)新增的,我們這先不說。
歡迎訪問我的個(gè)人博客:http://www.xiaolongwu.cn
前言最近工作有點(diǎn)忙,好幾天都沒更新技術(shù)博客了。
周末起床打開有道云筆記,發(fā)現(xiàn)自己的博客todolist里躺了一堆只有名字的文件。
話不多說,我們開干,加油!
干貨滿滿今天,我們一起學(xué)習(xí)一下js中的數(shù)據(jù)類型檢測相關(guān)的知識(shí),也順便做個(gè)總結(jié)。
1、數(shù)據(jù)類型介紹我們都知道,在js中分為基本數(shù)據(jù)類型和復(fù)雜數(shù)據(jù)類型。
基本數(shù)據(jù)類型又包括 Sting Number Boolean Null Undefined ,還有一個(gè)es6新增的Symbol,我們這先不說。
復(fù)雜數(shù)據(jù)類型只有一種,那就是Object。
我們平時(shí)見到的數(shù)組Array、正則RegExp、時(shí)間對(duì)象Date、函數(shù)Function等都屬于Object。
2、如何判斷基本數(shù)據(jù)類型這點(diǎn)想必大家都知道,但是我還是要在這里啰嗦一下。
判斷基本數(shù)據(jù)類型我們可以選擇typeof來判斷。
這里需要注意就是返回值,他的返回值為小寫字母開頭的字符串。
//字符串 typeof "leon" // "sting" //整數(shù) typeof 22 // "number" //undefined typeof undefined // "undefined" //Boolean typeof true // "boolean" //Null typeof null // "object" 這為什么是object ? // 因?yàn)閚ull表示的是一個(gè)空指針,指針表示的是引用型數(shù)據(jù),所以返回object //Object typeof [1,2.3] //"object" typeof {a: "ww"} //"object" typeof new Date() //"object" //function typeof function(){} //"function"3、instanceof
instanceof是用來檢測引用類型,檢測是那種類型的實(shí)例。
他的返回值為Boolean值,真為true,否則為false。
不能檢測null,會(huì)報(bào)錯(cuò)。
// 這種檢測方式一般不常用 [1, 2] instanceof Array //true ({a: 1}) instanceof Object //true (function(){}) instanceof Function //true4、Constructor
返回結(jié)果為構(gòu)造器,也可以檢測自定義類型;
但是不適用于null和undefined。
"leon".constructor == String // true (1234).constructor == Number // true (true).constructor == Boolean // true [1, 2].constructor == Array // true ({name:"leon"}).constructor == Object // true (function(){}).constructor == Function // true
檢測自定義類型
function Leon(){} var leon = new Leon(); leon.constructor == Leon; // true5、Object.prototype.toString.call(obj)
這種方式是最權(quán)威的,也是很多框架插件中用到的方法,推薦使用;
Object.prototype.toString.call("leon"); //"[object String]" Object.prototype.toString.call(1234); //"[object Number]" Object.prototype.toString.call(true); //"[object Boolean]" Object.prototype.toString.call([1,2,3]); //"[object Array]" Object.prototype.toString.call({name:"leon"}); //"[object Object]" Object.prototype.toString.call(function(){}); //"[object Function]" Object.prototype.toString.call(null); //"[object Null]" Object.prototype.toString.call(undefined); //"[object Undefined]"
實(shí)際使用時(shí),可以這么寫
var test = Object.prototype.toString.call("leon"); if(test == "[object String]") { console.log("這是個(gè)字符串") } //當(dāng)然我們也可以選擇用正則去判斷第二個(gè)單詞,從而得到數(shù)據(jù)的類型
github文章資源地址:js基礎(chǔ)--數(shù)據(jù)類型檢測的相關(guān)知識(shí)
我的CSDN博客地址:https://blog.csdn.net/wxl1555
如果您對(duì)我的博客內(nèi)容有疑惑或質(zhì)疑的地方,請(qǐng)?jiān)谙路皆u(píng)論區(qū)留言,或郵件給我,共同學(xué)習(xí)進(jìn)步。
郵箱:wuxiaolong802@163.com
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/109093.html
摘要:前言本文主要是有關(guān)前端方面知識(shí)按照目前的認(rèn)知進(jìn)行的收集歸類概括和整理,涵蓋前端理論與前端實(shí)踐兩方面。 前言:本文主要是有關(guān)前端方面知識(shí)按照 XX 目前的認(rèn)知進(jìn)行的收集、歸類、概括和整理,涵蓋『前端理論』與『前端實(shí)踐』兩方面。本文會(huì)告訴你前端需要了解的知識(shí)大致有什么,看上去有很多,但具體你要學(xué)什么,還是要 follow your heart & follow your BOSS。 初衷...
摘要:前言本文主要是有關(guān)前端方面知識(shí)按照目前的認(rèn)知進(jìn)行的收集歸類概括和整理,涵蓋前端理論與前端實(shí)踐兩方面。 前言:本文主要是有關(guān)前端方面知識(shí)按照 XX 目前的認(rèn)知進(jìn)行的收集、歸類、概括和整理,涵蓋『前端理論』與『前端實(shí)踐』兩方面。本文會(huì)告訴你前端需要了解的知識(shí)大致有什么,看上去有很多,但具體你要學(xué)什么,還是要 follow your heart & follow your BOSS。 初衷...
摘要:前言本文主要是有關(guān)前端方面知識(shí)按照目前的認(rèn)知進(jìn)行的收集歸類概括和整理,涵蓋前端理論與前端實(shí)踐兩方面。 前言:本文主要是有關(guān)前端方面知識(shí)按照 XX 目前的認(rèn)知進(jìn)行的收集、歸類、概括和整理,涵蓋『前端理論』與『前端實(shí)踐』兩方面。本文會(huì)告訴你前端需要了解的知識(shí)大致有什么,看上去有很多,但具體你要學(xué)什么,還是要 follow your heart & follow your BOSS。 初衷...
摘要:注意亂序遍歷對(duì)象屬性。注意因?yàn)闀?huì)遍歷整個(gè)原型鏈的所有屬性值,所以效率較循環(huán)慢了很多。,不做類型轉(zhuǎn)換,類型不同的一定不等操作事件機(jī)制幾個(gè)概念事件流,事件冒泡,事件捕獲原型繼承面向?qū)ο笄岸四K化規(guī)范列表項(xiàng)目閉包跨域 根據(jù)百度學(xué)院的教程復(fù)習(xí)下js基礎(chǔ),在這里做一個(gè)匯總筆記 1.數(shù)據(jù)類型、判斷 最新的 ECMAScript 標(biāo)準(zhǔn)定義了 7 種數(shù)據(jù)類型: string number boole...
摘要:的語言的動(dòng)態(tài)性意味著我們可以使用以上種數(shù)據(jù)類型表示變換過渡動(dòng)畫實(shí)現(xiàn)案例前端掘金以下所有效果的實(shí)現(xiàn)方式均為個(gè)人見解,如有不對(duì)的地方還請(qǐng)一一指出。 讀 zepto 源碼之工具函數(shù) - 掘金Zepto 提供了豐富的工具函數(shù),下面來一一解讀。 源碼版本 本文閱讀的源碼為 zepto1.2.0 $.extend $.extend 方法可以用來擴(kuò)展目標(biāo)對(duì)象的屬性。目標(biāo)對(duì)象的同名屬性會(huì)被源對(duì)象的屬性...
閱讀 554·2021-11-25 09:44
閱讀 2643·2021-11-24 09:39
閱讀 2314·2021-11-22 15:29
閱讀 3527·2021-11-15 11:37
閱讀 3392·2021-09-24 10:36
閱讀 2519·2021-09-04 16:41
閱讀 1001·2021-09-03 10:28
閱讀 1850·2019-08-30 15:55