網(wǎng)上購(gòu)物系統(tǒng)功能描述seo簡(jiǎn)單優(yōu)化
JS判斷類型的方法和對(duì)應(yīng)的局限性(typeof、instanceof和Object.prototype.toString.call()的用法)
一、typeof
返回:
該方法返回小寫字符串表示檢測(cè)數(shù)據(jù)屬于什么類型,例如:
檢測(cè)函數(shù)返回function
可判斷的數(shù)據(jù)類型:
undefined、string、number、function、boolean、object,symbol,其中Array、null會(huì)被識(shí)別成object,NaN會(huì)被識(shí)別成number
不能正確識(shí)別Array、null
原因:識(shí)別成object的原因是他們前三位二進(jìn)制是0就會(huì)被識(shí)別成Object,而null全是0,而不能識(shí)別Array的原因是JS本來(lái)就只有8中數(shù)據(jù)類型,null、number、undefined、boolean、string、symbol、bigint、object。
二、instanceof
返回:
該方法返回true或false,用于檢測(cè)一個(gè)對(duì)象是否是另一個(gè)對(duì)象的實(shí)例,僅能用于判斷對(duì)象類型,不能用于判斷基本數(shù)據(jù)類型,如:
但是null instanceof Object => false
三、Object.prototype.toString.call()
返回:
該方法返回一串字符串,[object 待測(cè)對(duì)象名],如:
它能正確識(shí)別Array,null等等上面方法沒(méi)法正確識(shí)別的類型,不便之處是太長(zhǎng)了太難寫了。