亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

javascript中的五種基本數據類型

2019-11-20 11:42:29
字體:
來源:轉載
供稿:網友

[0]5種數據類型:

    [0.1]基本數據類型:Undefined、Null、Boolean、Number、String

        [0.1.1]基本類型值是指簡單的數據段,5種基本類型是按值訪問的,因為可以操作保存在變量中的實際值

        [0.1.2]基本類型的值在內存中占據固定大小的空間,被保存在棧內存中。從一個變量向另一個變量復制基本類型的值,會創建這個值的一個副本。

        [0.1.3]不能給基本類型的值添加屬性

    [0.2]引用數據類型:Object

        [0.2.1]引用類型值是指那些可以由多個值構成的對象。js不允許直接訪問內存中的位置,也就是不能直接訪問操作對象的內存空間。在操作對象時,實際上是在操作對象的引用而不是實際的對象。

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

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

[1]Undefined

    [1.1]Undefined類型只有一個值,就是undefined

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

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

    [1.4]出現場景:

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

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

        [1.4.3]無返回值的函數的執行結果

        [1.4.4]函數的參數沒有傳入

        [1.4.5]void(expression)

    [1.5]類型轉換

        Boolean(undefined):false

        Number(undefined):NaN

        String(undefined):'undefined'

[2]Null

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

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

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

    [2.4]出現場景:對象不存在時

    [2.5]類型轉換

        Boolean(null):false

        Number(null):0

        String(null):'null'       

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

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

[3]Boolean

    [3.1]Boolean類型只有兩個值:true 和 false

    [3.2]出現場景:

        [3.2.1]條件語句導致系統執行的隱士類型轉換

        [3.2.2]字面量或變量定義

    [3.3]類型轉換

        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類型使用IEEE754格式來表示整數和浮點數值

    [注意]可以用一個值-0來將其轉換成一個數字

    [4.2]三種字面量格式是十進制、八進制、十六進制

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

        [4.2.2]八進制字面量在嚴格模式下是無效的,會導致js拋出錯誤

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

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

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

    [4.3]數值表示:

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

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

            [4.3.2.1]由于浮點型數值需要的內存空間是保存整數值的兩倍,因此js會不失時機地將浮點數值轉換成整數值,若小數點后沒有跟任何數字或者浮點值本身表示的就是一個整數,這個數值會作為整數值來保存。

            [4.3.2.2]浮點數值的最高精度是17位小數

            [4.3.2.3]對于極大或者極小的數,可以用科學計數法e來表示的浮點數值來表示

            [4.3.2.4]默認情況下,js會將小數點后面帶有6個0以上的浮點數值轉換為以e表示法表示的數值

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

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

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

            [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()來確定一個數值是不是有窮的,包含著隱式類型轉換Number()

            [4.3.3.6]isFinite(NaN) //false

        [4.3.4]NaN

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

            [4.3.4.2]任何涉及NaN的操作都會返回NaN

            [4.3.4.3]isNaN()來判斷這個數字是不是NaN,包含著隱式類型轉換Number()

    [4.4]數值轉換:Number()可用于任何類型,parseInt()和parseFloat專門用于把字符串轉換成數值

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

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

        [4.4.1]Number()

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

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

            Number(undefined):NaN

            Number(null):0

            Number(字符串):

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

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

                Number(''和' '):0

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

            Number(對象):

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

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

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

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

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

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

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

            [4.4.2.4]因為parseInt()是專門用來處理字符串轉換數字的,所以parseInt(其他類型包括'')//NaN

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

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

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

 [5]String:由單引號或雙引號括起來的字符序列,任何字符串的長度都可以通過訪問length屬性獲得

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

        /n 換行

        /t 制表

        /b 空格

        /r 回車

        /f 進紙

        // 斜杠

        /' 單引號

        /" 雙引號

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

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

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

    [5.3]字符串連接需要先創建一個新字符串,然后在新字符串中填充兩個需要拼接的字符串,最后再銷毀原來的字符串。這個過程在后臺發生,也是在某些舊版本瀏覽器(IE6)拼接字符串速度慢的原因,但后來已經解決了這個低效率問題

    [5.4]字符串轉換

        [5.4.1]toString()

            Null和Undefined沒有該方法

            Boolean、Object、String有該方法

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

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

        [5.4.2]String()

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

            String(null);//'null'

            String(undefined);//'undefined'   

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

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

最后給大家一個簡單的例子說明下這五種基本類型的不同

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"

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品国产依人香蕉在线精品| 日韩高清欧美高清| 国产精品偷伦视频免费观看国产| 91精品国产色综合久久不卡98口| 久久精品成人欧美大片古装| 亚洲精品成a人在线观看| 国产91对白在线播放| 欧美精品日韩www.p站| 久久精品亚洲精品| 精品中文字幕久久久久久| 久久久爽爽爽美女图片| 久久精品99久久久香蕉| 亚洲女成人图区| 欧美日本在线视频中文字字幕| 久热精品视频在线观看一区| 久久精品一区中文字幕| 国产97在线亚洲| 国模视频一区二区| 欧美性受xxx| 欧美在线激情网| 欧美在线亚洲在线| 中文字幕欧美国内| 日韩中文字幕精品视频| 精品久久久香蕉免费精品视频| 国产精品男女猛烈高潮激情| 国产亚洲一区精品| 国产一区二区在线免费| 97香蕉久久超级碰碰高清版| 精品福利一区二区| 国产精品综合不卡av| 国产欧美va欧美va香蕉在线| 国产精品久久久久久久久男| 日韩av网站电影| 日韩av在线网页| 亚洲欧美日本伦理| 久久国产精品免费视频| 欧美一区二粉嫩精品国产一线天| 激情懂色av一区av二区av| 亚洲女人天堂色在线7777| 国产美女精彩久久| 日日狠狠久久偷偷四色综合免费| 欧美激情亚洲精品| 欧美裸体男粗大视频在线观看| 欧美丰满少妇xxxxx做受| 亚洲天堂精品在线| 亚洲a区在线视频| 日韩精品免费在线视频观看| 亚洲精品videossex少妇| 日韩欧美国产视频| 57pao国产精品一区| 国产精品久久久久久五月尺| 亚洲男人av电影| www.日韩欧美| 欧美一区二区大胆人体摄影专业网站| 欧美色视频日本版| 国产日产久久高清欧美一区| 欧美二区乱c黑人| 亚洲精品99久久久久中文字幕| 亚洲成人精品av| 成人黄色免费在线观看| 亚洲国产欧美在线成人app| 午夜精品蜜臀一区二区三区免费| 性日韩欧美在线视频| 欧美高清videos高潮hd| 永久免费看mv网站入口亚洲| 最新91在线视频| 国产成人av网| 色一情一乱一区二区| 7m精品福利视频导航| 成人深夜直播免费观看| 97人人模人人爽人人喊中文字| 91在线播放国产| 久热99视频在线观看| 亚洲欧洲午夜一线一品| 久久久久亚洲精品国产| 综合网中文字幕| 一区二区三区回区在观看免费视频| 国产精品一区二区三区免费视频| 国精产品一区一区三区有限在线| 隔壁老王国产在线精品| 成人美女免费网站视频| 精品久久久999| 日韩av手机在线看| 亚洲国产精品中文| 久久精品成人欧美大片| 精品视频在线播放色网色视频| 蜜臀久久99精品久久久无需会员| 欧美尺度大的性做爰视频| 自拍偷拍亚洲欧美| 国产成人啪精品视频免费网| 欧美大片免费观看在线观看网站推荐| 国产精品狠色婷| 91精品在线观| 在线视频欧美性高潮| 日韩有码在线电影| 亚洲黄色片网站| 国外成人性视频| 午夜精品久久久久久久白皮肤| 久久久久久成人精品| 欧美激情一二区| 日韩av成人在线| 日韩欧美国产成人| 欧美视频在线免费| 欧美激情一二三| 欧美国产日韩在线| 91网站在线看| 亚洲精品美女久久久| 亚洲欧美在线免费| 国产成人精品电影| 国产va免费精品高清在线观看| 91美女片黄在线观看游戏| 亚洲天堂视频在线观看| 日韩欧美在线免费观看| 91精品啪在线观看麻豆免费| 色综合久久久久久中文网| 国产精品极品美女在线观看免费| 日本久久亚洲电影| 黄色一区二区三区| 国产精品自拍偷拍视频| 欧美黄色片视频| 日韩免费电影在线观看| 中文字幕亚洲综合| 成人午夜黄色影院| www.亚洲成人| 日韩av网站大全| 狠狠躁夜夜躁人人躁婷婷91| 日韩av不卡在线| 久久6免费高清热精品| 亚洲护士老师的毛茸茸最新章节| 国产一区二区三区视频在线观看| 日本亚洲精品在线观看| 亚洲国语精品自产拍在线观看| 91国产视频在线播放| 不卡av日日日| 日韩av色在线| 亚洲欧美成人在线| 欧美最顶级丰满的aⅴ艳星| 日日狠狠久久偷偷四色综合免费| 日韩a**中文字幕| 国产精品一香蕉国产线看观看| 国产精品综合网站| 亚洲国产毛片完整版| 中文字幕日本精品| 欧美激情第一页xxx| 日韩欧美在线免费| 亚洲精品国产综合区久久久久久久| 国产成人亚洲综合91精品| 中文字幕国产精品| 欧美日韩福利在线观看| 97av在线视频免费播放| 92国产精品久久久久首页| 欧美黄色免费网站| 国产精品嫩草影院一区二区| 777精品视频| 日韩中文字幕精品| 精品亚洲一区二区三区在线播放| 欧美在线影院在线视频| 国产成人91久久精品| 成人国产精品久久久久久亚洲| 亚洲天堂视频在线观看| 中文字幕综合在线| 国产一区二区三区视频在线观看| 国产婷婷色综合av蜜臀av| 91极品视频在线|