JavaScript數據類型

JavaScript(ECMAScript5)是弱類型動態語言。我總結一下JS的數據類型相關知識。函數

1、六種數據類型對象

JS擁有number、boolean、string和null、undefined5種原始數據類型,還有object一種對象類型。blog

object類型又包括Function、Array和Date類型,等等。繼承

 

2、隱式轉換接口

要把數字轉成字符串,咱們能夠用num+''。ip

要把字符串轉成數字,咱們能夠用str-0。原型鏈

緣由是當數字與字符串相加時,數字會隱式轉換爲字符串;而當字符串減去數字時,字符串會隱式轉換爲數字。字符串

 

這裏咱們講下==與===(嚴格相等)的區別:iframe

==只判斷值相等,無論類型,而===須要值和類型都相等。在進行==判斷時,等號左右會進行隱式轉換。原型

如6=='6'返回true,接口若是返回的status不肯定是數字仍是字符串時,咱們能夠直接用==去接,這是在實際工做對接中的一個好辦法。

注意,null==undefined返回true,NaN和NaN不相等。

 

另外,new String('hi')=='hi'也是返回true,即包裝對象會隱式轉換爲原始類型進行比較。

 

3、包裝對象

number、boolean和string有對應的包裝類。

咱們能夠直接使用原始類型調用包裝類型的方法,如str.length和number.toString(),這是由於原始類型被隱式轉換爲了其對應的包裝對象,可是包裝對象是臨時的,會立刻被銷燬。

 

4、類型檢測

爲了程序的健壯性,咱們須要進行類型檢測。

這裏介紹3種方法:

1.typeof

typeof適合判斷基本類型和函數。(typeof null爲object爲歷史緣由)

 

2.instanceof

適合判斷對象是不是從對應的原型鏈上繼承下來的。格式爲obj instanceof Object。

如[1,2] instanceof Array。

注意,在不一樣的window和iframe上,原型鏈不同。

 

3.toString

 注意,在IE6-8中,null使用toString是返回Object的。

相關文章
相關標籤/搜索