欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
javascript中的五種基本數據類(lèi)型

[0]5種數據類(lèi)型:

    [0.1]基本數據類(lèi)型:Undefined、Null、Boolean、Number、String

        [0.1.1]基本類(lèi)型值是指簡(jiǎn)單的數據段,5種基本類(lèi)型是按值訪(fǎng)問(wèn)的,因為可以操作保存在變量中的實(shí)際值

        [0.1.2]基本類(lèi)型的值在內存中占據固定大小的空間,被保存在棧內存中。從一個(gè)變量向另一個(gè)變量復制基本類(lèi)型的值,會(huì )創(chuàng )建這個(gè)值的一個(gè)副本。

        [0.1.3]不能給基本類(lèi)型的值添加屬性

    [0.2]引用數據類(lèi)型:Object

        [0.2.1]引用類(lèi)型值是指那些可以由多個(gè)值構成的對象。js不允許直接訪(fǎng)問(wèn)內存中的位置,也就是不能直接訪(fǎng)問(wèn)操作對象的內存空間。在操作對象時(shí),實(shí)際上是在操作對象的引用而不是實(shí)際的對象。

        [0.2.2]引用類(lèi)型的值是對象,保存在堆內存中,包含引用類(lèi)型值的變量實(shí)際上包含的并不是對象本身,而是一個(gè)指向該對象的指針。從一個(gè)變量向另一個(gè)變量復制引用類(lèi)型的值,復制的其實(shí)是指針,因此兩個(gè)變量最終都指向同一個(gè)對象。

        [0.2.3]對于引用類(lèi)型的值,可以為其添加屬性和方法,也可以改變和刪除其屬性和方法

[1]Undefined

    [1.1]Undefined類(lèi)型只有一個(gè)值,就是undefined

    [1.2]var a <=> var a = undefined;   

    [1.3]對于尚未聲明過(guò)的變量,只能執行一項操作,就是使用typeof操作符檢測其數據類(lèi)型【但在嚴格模式下會(huì )導致錯誤】

    [1.4]出現場(chǎng)景:

        [1.4.1]已聲明未賦值的變量

        [1.4.2]獲取對象不存在的屬性

        [1.4.3]無(wú)返回值的函數的執行結果

        [1.4.4]函數的參數沒(méi)有傳入

        [1.4.5]void(expression)

    [1.5]類(lèi)型轉換

        Boolean(undefined):false

        Number(undefined):NaN

        String(undefined):'undefined'

[2]Null

    [2.1]Null類(lèi)型只有一個(gè)值,就是null,邏輯角度看,null值表示一個(gè)空對象指針

    [2.2]如果定義的變量將用于保存對象,最好將該變量初始化為null

    [2.3]實(shí)際上undefined值是派生自null值的,所以undefined == null

    [2.4]出現場(chǎng)景:對象不存在時(shí)

    [2.5]類(lèi)型轉換

        Boolean(null):false

        Number(null):0

        String(null):'null'       

    [注意1]null是空對象指針,而[]是空數組,{}是空對象,三者不相同

    [注意2]null不能添加自定義屬性

[3]Boolean

    [3.1]Boolean類(lèi)型只有兩個(gè)值:true 和 false

    [3.2]出現場(chǎng)景:

        [3.2.1]條件語(yǔ)句導致系統執行的隱士類(lèi)型轉換

        [3.2.2]字面量或變量定義

    [3.3]類(lèi)型轉換

        Number(true): 1 || Number(false) : 0

        String(true):'true' || String(false):'false'

    [3.4]Boolean()

        Boolean(undefined):false

        Boolean(null):false

        Boolean(非空對象包括空數組[]和空對象{}):true

        Boolean(非0): true || Boolean(0和NaN):false

        Boolean(非空包括空格字符串):true || Boolean(''):false

    [注意]true不一定等于1,false也不一定等于0

 [4]Number

    [4.1]Number類(lèi)型使用IEEE754格式來(lái)表示整數和浮點(diǎn)數值

    [注意]可以用一個(gè)值-0來(lái)將其轉換成一個(gè)數字

    [4.2]三種字面量格式是十進(jìn)制、八進(jìn)制、十六進(jìn)制

        [4.2.1]八進(jìn)制字面值的第一位必須是0,然后是八進(jìn)制數字序列(0-7),如果字面值中的數值超出了范圍,那么前導0將被忽略,后面的數值被當作十進(jìn)制數解析

        [4.2.2]八進(jìn)制字面量在嚴格模式下是無(wú)效的,會(huì )導致js拋出錯誤

        [4.2.3]十六進(jìn)制字面值的前兩位必須是0x,后跟十六進(jìn)制數字序列,字母可大寫(xiě)可小寫(xiě)

        [4.2.4]十六進(jìn)制中字面值中的數值走出范圍,如出現g,h等會(huì )報錯

        [4.2.5]在進(jìn)行算術(shù)計算時(shí),所有以八進(jìn)制和十六進(jìn)制表示的數值最終都將被轉換成十進(jìn)制數值

    [4.3]數值表示:

        [4.3.1]js中可以保存正0和負0,且被認為相等

        [4.3.2]浮點(diǎn)數值:該數值中必須包含一個(gè)小數點(diǎn),并且小數點(diǎn)后面必須至少有一位數字。

            [4.3.2.1]由于浮點(diǎn)型數值需要的內存空間是保存整數值的兩倍,因此js會(huì )不失時(shí)機地將浮點(diǎn)數值轉換成整數值,若小數點(diǎn)后沒(méi)有跟任何數字或者浮點(diǎn)值本身表示的就是一個(gè)整數,這個(gè)數值會(huì )作為整數值來(lái)保存。

            [4.3.2.2]浮點(diǎn)數值的最高精度是17位小數

            [4.3.2.3]對于極大或者極小的數,可以用科學(xué)計數法e來(lái)表示的浮點(diǎn)數值來(lái)表示

            [4.3.2.4]默認情況下,js會(huì )將小數點(diǎn)后面帶有6個(gè)0以上的浮點(diǎn)數值轉換為以e表示法表示的數值

            [4.3.2.5]基于IEEE754數值的浮點(diǎn)計算的通病是舍入誤差的問(wèn)題。如:0.1+0.2 === 0.3(15個(gè)0)4

        [4.3.3]js中的數值范圍是Number.MIN_VALUE(5e-324) —— Number.MAX_VALUE(1.7976931348623157e+308)

            [4.3.3.1]如果超出正數范圍,輸出Infinity(正無(wú)窮大),超出負數范圍,輸出-Infinity(負無(wú)窮大)

            [4.3.3.2]+-Infinity不能參與數值計算

            [4.3.3.3]Number.MAX_VALUE+1 != Infinity,因為計算機最多保存52位尾數位,保存不了1000多位,早就失去精度,即小數位全為0,所以相加不變

            [4.3.3.4]Number.MIN_VALUE - 1 != -Infinity,也是同樣的原因,所以結果為-1

            [4.3.3.5]可以用isFinite()來(lái)確定一個(gè)數值是不是有窮的,包含著(zhù)隱式類(lèi)型轉換Number()

            [4.3.3.6]isFinite(NaN) //false

        [4.3.4]NaN

            [4.3.4.1]NaN與任何值都不相等,包括NaN本身

            [4.3.4.2]任何涉及NaN的操作都會(huì )返回NaN

            [4.3.4.3]isNaN()來(lái)判斷這個(gè)數字是不是NaN,包含著(zhù)隱式類(lèi)型轉換Number()

    [4.4]數值轉換:Number()可用于任何類(lèi)型,parseInt()和parseFloat專(zhuān)門(mén)用于把字符串轉換成數值

    [注意1]Number()、parseInt()、parseFloat()可以接受各種進(jìn)制的數字,但對于含數字的字符串并不適用

    [注意2]Number()、parseInt()、parseFloat()中數字為1.2. 會(huì )報錯,但字符串為'1.2.'則不會(huì )報錯

        [4.4.1]Number()

            Number(true):1 || Number(false):0

            Number(各種進(jìn)制的數字):運算后的十進(jìn)制的數字,如1.0或1.或01會(huì )以1輸出

            Number(undefined):NaN

            Number(null):0

            Number(字符串):

                Number(只包含數字的十進(jìn)制和十六進(jìn)制的字符串):運算后的十進(jìn)制的數字

                [注意]字符串中不識別八進(jìn)制,按照十進(jìn)制數字處理

                Number(''和' '):0

                Number(其他情況的字符串):NaN

            Number(對象):

                Number([]和[0]和[-0]):0

                Number([數字]):運算后的數字

                Number([1,2]和{}和其他對象):NaN

        [4.4.2]parseInt():在轉換字符串時(shí),會(huì )忽略字符串前面的空格,直到找到第一個(gè)非空格字符。如果第一個(gè)字符不是數字字符或者負號,parseInt()就會(huì )返回NaN。如果是,則繼續解析,直到解析完成或者遇到非數字字符。

            [4.4.2.1]parseInt()可以識別出各種進(jìn)制的整數,但在解析八進(jìn)制字面量的字符串,ECMAScript3會(huì )解析八進(jìn)制,但ECMAScript5沒(méi)有解析八進(jìn)制的能力

            [4.4.2.2]parseInt()函數提供第二個(gè)參數,表示多少進(jìn)制,如:parseInt('123',16或10或2)

            [4.4.2.3]parseInt(各種進(jìn)制的數字):運算后的十進(jìn)制的數字,如1.0或1.或01會(huì )以1輸出

            [4.4.2.4]因為parseInt()是專(zhuān)門(mén)用來(lái)處理字符串轉換數字的,所以parseInt(其他類(lèi)型包括'')//NaN

        [4.4.3]parseFloat():類(lèi)似于parseInt(),會(huì )忽略字符串前面的空格,直到找到第一個(gè)非空格字符

            [4.4.3.1]parseFloat()只能解析十進(jìn)制字符串

            [4.4.3.2]parseFloat(各種進(jìn)制的數字):運算后的十進(jìn)制的數字,如1.0或1.或01會(huì )以1輸出

 [5]String:由單引號或雙引號括起來(lái)的字符序列,任何字符串的長(cháng)度都可以通過(guò)訪(fǎng)問(wèn)length屬性獲得

    [5.1]字符字面量,也叫轉義序列

        \n 換行

        \t 制表

        \b 空格

        \r 回車(chē)

        \f 進(jìn)紙

        \\ 斜杠

        \' 單引號

        \" 雙引號

        \xnn 以十六進(jìn)制nn表示一個(gè)字符(n為0-f),如\x41表示'A'

        \unnnn 以十六進(jìn)制nnnn表示一個(gè)Unicode字符(n為0-f),如\u03a3表示希臘字符ε

    [5.2]ECMAScript中的字符串是不可變的   

    [5.3]字符串連接需要先創(chuàng )建一個(gè)新字符串,然后在新字符串中填充兩個(gè)需要拼接的字符串,最后再銷(xiāo)毀原來(lái)的字符串。這個(gè)過(guò)程在后臺發(fā)生,也是在某些舊版本瀏覽器(IE6)拼接字符串速度慢的原因,但后來(lái)已經(jīng)解決了這個(gè)低效率問(wèn)題

    [5.4]字符串轉換

        [5.4.1]toString()

            Null和Undefined沒(méi)有該方法

            Boolean、Object、String有該方法

            Number使用該方法可以傳遞基數2、8、10、16,如var num = 10;num.toString(2);//1010

            但10.toString(2)會(huì )報錯,因為數字后面不能跟標識符

        [5.4.2]String()

            有toString()方法,使用toString()方法

            String(null);//'null'

            String(undefined);//'undefined'   

        [5.4.3]要把某個(gè)值轉換為字符串,可以使用加號操作符把它與一個(gè)空字符串''加在一起

   [5.4.4]如果數組中的某一項的值是null或者undefined,那么該值在join()、toLocaleString()、toString()和valueOf()方法返回的結果中以空字符串表示

最后給大家一個(gè)簡(jiǎn)單的例子說(shuō)明下這五種基本類(lèi)型的不同

var testString = "Hello"; var testBoobean = true; var testUndefined = undefined; var testUndefined1; var testNull = null; var testObject = {a:1}; var testFunction = function(){return;};  alert(testString);//"string" alert(testBoobean);//"boolean" alert(testUndefined);//"undefined" alert(testUndefined1);//"undefined" alert(testUndefined2);//"undefined" alert(testNull);//"object" alert(testObject);//"object" alert(testFunction);//"function"

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
javascript快速入門(mén)8
JavaScript筑基篇(二)
JavaScript——JavaScript數據類(lèi)型轉換
JavaScript:數據類(lèi)型
JavaScript之數據類(lèi)型
JavaScript基本概念
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久