javascript第一篇——數(shù)據(jù)類型

數(shù)據(jù)類型

1.javascript設(shè)定了5種基本類型,分別為:string、boolean、number、null、undefined.外加一種復(fù)雜數(shù)據(jù)類型:object
2.用typeof檢測(cè)某一個(gè)值屬于那種基本類型,在此之中,有一個(gè)特殊的結(jié)果為:function.

  1. typeof(string類型);   string(注:僅限于string字面量,而非 var string=new String())
    
  2. typeof(null); object (null為設(shè)置一個(gè)空對(duì)象而存在,于是其typeof為object)
    
  3. typeof(undefined);undefined(所有未定義或者定義了但是沒(méi)有初始化的數(shù)據(jù)都會(huì)被設(shè)置一個(gè)特殊的值—undefined)
    
  4. typeof(boolean);boolean
    
  5. typeof(number);number
    
  6. typeof(function);function(function作為一個(gè)特殊的object存在,于是有必要將其區(qū)別出來(lái))
    

各種數(shù)據(jù)類型分析

  1. undefined

    上面已經(jīng)提到

  2. null

    null為一個(gè)空對(duì)象指針,如果需要建立一個(gè)變量用來(lái)存儲(chǔ)一個(gè)對(duì)象,那么在初 始化時(shí)用var obj = null,這樣在判斷這個(gè)值是只用if(obj != null)

  3. boolean

    3.1該類型會(huì)有兩個(gè)值:true、false.
    3.2各種類型值轉(zhuǎn)化為boolean類型時(shí):

        string(任何非空字符都會(huì)轉(zhuǎn)化為true,空字符轉(zhuǎn)化為false)
        number(任何非0數(shù)字都會(huì)轉(zhuǎn)化為true,包括無(wú)窮大。0會(huì)轉(zhuǎn)化為false)
        null(始終為false)
        undefined(始終為false)
        object(除了null其他轉(zhuǎn)化為true)
    
  4. number

    4.1 NaN----- isNaN
    其中有一個(gè)特殊的值NaN(表示為其值不是數(shù)值),可以用isNaN判斷一個(gè)值是否為數(shù)值。(其判斷規(guī)則為 如果其值能夠用Number()轉(zhuǎn)化為正常數(shù)值而不是返回NaN,則返回true)
    4.2 數(shù)值范圍
    每個(gè)瀏覽器能夠解析的數(shù)值有一個(gè)界限,可以用Number.MAX_VALUE、Number.MIN_VALUE查看。如果超出這個(gè)界限則被轉(zhuǎn)化為-Infinity、Infinity??梢允褂肗umber.NEVIGATE_INFINITY == -Infinity 、Number.POSITIVE_INFINITY == Infinity
    可以使用isFinity()來(lái)判斷一個(gè)數(shù)值是否位于正無(wú)窮和負(fù)無(wú)窮之間,如果是則返回true,否則返回false.
    4.3 parseInt(para1,para2)
    可接受2個(gè)參數(shù),para1為需要轉(zhuǎn)化的數(shù)值,para2為按多少進(jìn)制轉(zhuǎn)化。

空字符串會(huì)被轉(zhuǎn)化為NaN(但是空字符串轉(zhuǎn)化為number類型時(shí)是轉(zhuǎn)化為0)

parseInt轉(zhuǎn)化字符串時(shí),會(huì)從第一個(gè)非空格字符開(kāi)始查找,如果第一個(gè)字符不是數(shù)字或者負(fù)號(hào),則會(huì)返回NaN。如果第一個(gè)是數(shù)字字符,會(huì)接著解析第二個(gè),直到遇到一個(gè)非數(shù)字字符包括小數(shù)點(diǎn)。(parseInt可以識(shí)別各種整數(shù)格式,即如果遇到‘0x’后面跟數(shù)字字符則會(huì)解析為16進(jìn)制數(shù)。如果是‘0‘開(kāi)頭后面更隨數(shù)字字符會(huì)被轉(zhuǎn)化為8進(jìn)制數(shù))
4.4 parseFloat(para)
parseFloat()會(huì)忽略數(shù)字字符之前的0于是其不能識(shí)別8進(jìn)制16進(jìn)制。parseFloat()只會(huì)解析到第一個(gè)小數(shù)點(diǎn),如果有2個(gè)小數(shù)點(diǎn)則會(huì)在第二個(gè)小數(shù)點(diǎn)處截?cái)唷H绻鹥ara是一個(gè)整數(shù)則會(huì)返回整數(shù)
4.5各種類型值轉(zhuǎn)化為Number類型時(shí):
undefined轉(zhuǎn)化為NaN
null轉(zhuǎn)化為0
Boolean的true轉(zhuǎn)化為1,false轉(zhuǎn)化為0
Object轉(zhuǎn)化為NaN
Sting:空字符串會(huì)轉(zhuǎn)化為0,只包含數(shù)字的字符串轉(zhuǎn)化為對(duì)應(yīng)數(shù)字,但是會(huì)忽略8進(jìn)制數(shù).'0xf'會(huì)被轉(zhuǎn)化了其對(duì)應(yīng)的10進(jìn)制數(shù)。結(jié)果只可能是10進(jìn)制。

Number('222bbb')==NaN但是parseInt('222bbb')==222

  1. string

    5.1各種類型的值轉(zhuǎn)化為string類型
    string會(huì)先調(diào)用該值對(duì)應(yīng)的toString方法得到結(jié)果,但是null、undefined沒(méi)有toSting方法。對(duì)于Number類型toString()可接受一個(gè)參數(shù),表示按照什么基數(shù)轉(zhuǎn)化
    null轉(zhuǎn)化為'null'
    undefined轉(zhuǎn)化為'undefined'
    number轉(zhuǎn)化為10進(jìn)制對(duì)應(yīng)的值
    boolean會(huì)轉(zhuǎn)化為'true'、'false'
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容