成人视屏在线观看-国产99精品-国产精品1区2区-欧美一级在线观看-国产一区二区日韩-色九九九

您的位置:首頁技術(shù)文章
文章詳情頁

詳解JavaScript中的數(shù)據(jù)類型,以及檢測數(shù)據(jù)類型的方法

瀏覽:79日期:2023-10-13 10:16:28

一.js中的數(shù)據(jù)類型有哪些?

在js中,基本數(shù)據(jù)類型有五種,分別是 string、number、boolean、null、undefined,不過在ES6中新增加的了一種基本數(shù)據(jù)類型Symbol(表示獨(dú)一無二的值),其作用主要是從根本上防止屬性名的沖突而設(shè)定的。

除了基本數(shù)據(jù)類型之外,還有引用數(shù)據(jù)類型object,也有人稱之為復(fù)雜數(shù)據(jù)類型,包含了我們常見的Array、Object、Function等。

所以現(xiàn)在js中的數(shù)據(jù)類型共有七種。

PS: Symbol數(shù)據(jù)類型通過Symbol函數(shù)生成。也就是說,對象的屬性名現(xiàn)在可以有原來的字符串以及現(xiàn)在的Symbol類型倆種了,凡是屬性名屬于Symbol類型,就是獨(dú)一無二的,可以保證不會與其他屬性名沖突。

Symbol函數(shù)還可以接收一個字符串參數(shù),表示對Symbol實(shí)例的描述。

let s = Symbol()console.log(typeof s) // 'symbol'let s1 = Symbol(’s1’)let s2 = Symbol(’s2’)console.log(s1) // Symbol(s1)console.log(s2) // Symbol(s2)

注意:Symbol函數(shù)的參數(shù)只是表示對當(dāng)前實(shí)例的描述,因此相同參數(shù)的Symbol的返回值是不相等的。

二.js數(shù)據(jù)類型檢測的方法(一般有一下幾種):

1.typeof:typeof一般用于檢測基本數(shù)據(jù)類型,因?yàn)樗鼨z測引用數(shù)據(jù)類型都返回Objcet

console.log(typeof 1) // 'number'console.log(typeof ’a’) // 'string'console.log(typeof undefined) // 'undefined'console.log(typeof true) // 'boolean'console.log(typeof null) // 'object'console.log(typeof ) // 'symbol'function fun(){ }console.log(typeof fun) // 'function'

注意:typeof檢測null也會返回Object,這是js一直以來遺留的BUG。用typeof檢測function返回的是’function’。

2.instanceof 這個方法主要是用來準(zhǔn)備的檢測引用數(shù)據(jù)類型的(不能用來檢測基本數(shù)據(jù)類型),用來檢測構(gòu)造函數(shù)的prototype屬性是否出現(xiàn)在對象原型鏈中的任意位置。

let fun = function(){ }fun instanceof Function //truelet obj ={ }obj instanceof Object //truelet arr = [ ]arr instanceof Array //true

曾今被面試官問過一道題 1 instanceof 返回的是什么? 當(dāng)時給因?yàn)樽陨碓蛘f了返回true,現(xiàn)在想想Emmm…

1 instanceof Number //false null instanceof Object // false

instanceof運(yùn)算符直接訪問的變量的原始值,不會自動建立包裝類。因此不能用來判斷基本數(shù)據(jù)類型。

3.Object.prototype.toString()可以用來準(zhǔn)備的檢測所有數(shù)據(jù)類型。

Object.prototype.toString.call([])// 'object Array'Object.prototype.toString.call(1)// 'object Number'Object.prototype.toString.call(null)// 'object Null'Object.prototype.toString.call(undefined)// 'object Undefined'Object.prototype.toString.call({})// 'object Object'Object.prototype.toString.call(function add(){})// 'object Function'....

4.constructor通過檢測類型在原型鏈中的constructor指向來返回布爾值。

let arr =[]arr.constructor==Array// truelet fun = function(){}fun.constructor==Function//true

注意:null和undefined是沒有constructor屬性的,可以用其他方法判斷。

通過幾這次的總結(jié),對于js的數(shù)據(jù)類型,以及如何檢測數(shù)據(jù)類型有了深刻的認(rèn)識,下次面試不慌張~

以上就是詳解JavaScript中的數(shù)據(jù)類型,以及檢測數(shù)據(jù)類型的方法的詳細(xì)內(nèi)容,更多關(guān)于JavaScript 數(shù)據(jù)類型的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: JavaScript
主站蜘蛛池模板: 一本综合久久 | 日本 亚洲 欧美 | 国产三级在线观看 | 综合中文字幕 | 免费特黄一级欧美大片 | 免费人成黄页在线观看视频国产 | 在线免费看一级片 | 国产精品无码久久久久 | 亚洲an日韩专区在线 | 99久久精品免费看国产一区二区三区 | 免费观看视频成人国产 | 久久精品视频8 | 国产精品久久久久影视不卡 | 奇米色88欧美一区二区 | 在线国产一区二区三区 | 女人张开腿给男人桶爽免费 | 久久免费网 | 亚洲高清国产一线久久 | 我看毛片 | 亚洲99久久久久综合 | 日韩三及片 | 国产91一区二区在线播放不卡 | 亚洲欧美日韩三级 | 日韩欧美~中文字幕 | 国产视频三区 | 亚洲精品线在线观看 | 草草影院第一页yycccom | 久久er热这里只有精品23 | 亚洲韩国日本欧美一区二区三区 | 9久久免费国产精品特黄 | 欧美日韩精品一区二区三区视频在线 | 国产成在线观看免费视频成本人 | 视频一区在线免费观看 | 欧美一区不卡二区不卡三区 | 99热精品在线免费观看 | 国产精品91在线 | 亚洲系列第一页 | 亚洲精品高清在线 | 中文字幕视频在线 | 3至13呦女毛片 | 免费看孕妇毛片全部播放 |