欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript基本數(shù)據(jù)類型及類型檢測常用方法小結(jié)

 更新時(shí)間:2016年12月14日 11:59:50   作者:小小小小小亮  
這篇文章主要介紹了javascript基本數(shù)據(jù)類型及類型檢測常用方法,總結(jié)分析了javascript的基本數(shù)據(jù)類型與類型檢測的常用操作方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了javascript中的基本數(shù)據(jù)類型以及類型檢測的幾種方法。分享給大家供大家參考,具體如下:

1.JS中有6種基本的數(shù)據(jù)類型,JS中的所有操作都是基于這五種基本類型得到的。

(1)Object

對象類型

(2)number

數(shù)字類型

(3)String

字符串類型

(4)null

(5)underfined

(6)boolean

布爾類型:true或者為false

I)JS中的數(shù)據(jù)類型轉(zhuǎn)換(非嚴(yán)格模式下)

“12”==12 // true 在非嚴(yán)格模式下,字符串可以向數(shù)字轉(zhuǎn)換
true==1 // true 布爾值在等號兩邊會(huì)嘗試轉(zhuǎn)換為0或者1
“1”==true //true
null==underfined //true
new Object()==new Object() //true
NaN==NaN //false

II)JS中的數(shù)據(jù)類型轉(zhuǎn)換(非嚴(yán)格模式下)

上述中的等號均不成立

注:特別的如果為基本類型中的string或者number,在必要的情況下,可以將string或者number轉(zhuǎn)化為對象object類型,轉(zhuǎn)化不是持續(xù)的。

比如:

var x=”hello” ; alert(a.length) // 5

數(shù)據(jù)類型中的隱式轉(zhuǎn)化補(bǔ)充:

“32”+32 //轉(zhuǎn)化為string
"32"-32 //轉(zhuǎn)化為number

JS中的類型檢測方法

(1)通過typeof來進(jìn)行類型檢測

我們先來看幾個(gè)例子:

typeof 100 —->number

typeof “hello” ——>string

typeof true —–> boolean

typeof Number ——>function

typeof new Object()——->object

typeof Object ——->function

typeof null ——–>object

typeof underfined ——–>underfined

總結(jié):如果右邊的是基本類型,則typeof會(huì)嘗試得到最基本的類型,比如number,string等等,如果是函數(shù)名,那么則返回function,這里Object,Number,String,等等都可以看成函數(shù)名,如果右邊是一個(gè)基本的對象,則返回object(返回的都是小寫哦)。

注:我們發(fā)現(xiàn)typeof null,結(jié)果返回了object,這是一個(gè)很早之前的BUG,一直沿用至今

試用范圍:如果通過typeof來判斷類型,適用于判定基本類型,或者判斷是否為函數(shù)(function)。

2.instanceof

同樣舉例來說明:

[1,2] instanceof Array ——> true

“1,2” instanceof Array ——->false

總結(jié):instanceof 會(huì)沿著原型鏈查找,如果左邊對象的原型鏈上,具有右邊的對象,那么會(huì)返回true,并且注意只用于判斷擴(kuò)展的對象類型(非number,string等)

比如:

instanceof Number —–> false
"hell"  instanceof String  ------>string

補(bǔ)充:instanceof的右邊必須是函數(shù),或者是構(gòu)造器,如果不是則會(huì)報(bào)錯(cuò),檢測的是左邊的對象的原型鏈上,是否有右邊函數(shù)的prototype。

3.Object.prototype.toString

通過對象原型上的toSting方法,同樣也可以判斷類型,我們來舉例子:

Object.prototype.toString.apply([]) ——>[object Object]

Object.prototype.toString.apply(function(){}) —->[object Function]

Object.prototype.toString.apply(Number) ——->[object Function]

Object.prototype.toString.apply(String) ——–>[object Function]

Object.prototype.toString.apply(null) ———–>[object Null]

Object.prototype.toString.apply(undefined)–>[object Undefined]

使用類型:原生對象和基本類型

此外還有

(4)constructor

(5)duck type等

更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript中json操作技巧總結(jié)》、《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)

希望本文所述對大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評論