JavaScript數據類型

數據類型在任何的計算機語言中都比較重要的,JavaScript語言也是面向對象的。
數據類型
JavaScript數據類型能夠分爲:數值類型、布爾類型、字符串類型、對象類型和數組類型等。
一、數值類型
數值類型包括了整數和浮點數,整數能夠是十進制、十六進制和八進制數,十進制數由一串數字序列組成,它的第一個數字不能爲0。若是第一個數字爲0,則表示它是一個八進制數。若是0x,則表示它爲一個十六進制數。 
浮點數必須包含一個數字、一個小數點或「e」(或「E」)。浮點數例子以下:3.141五、 -3.1E十二、0.1e12和2E-12。
二、布爾類型
布爾類型有兩種值:true 和 false。
三、字符串類型
字符串是若干封裝在雙括號(")或單括號(')內的字符。字符串例子以下:
"fish" 
'fish' 
"5467" 
"a line" 
四、對象類型
用new生成一個新的對象,var currentDay = new Date()。
五、數組類型
數組類型Array 也是一個對象,咱們能夠經過var arr = new Array(3)語句建立,其中3是數組的長度,咱們能夠經過arr.length屬性取得數組的長度。


數據類型字面量
數據類型字面量(Literals)是在程序中使用的字符表示數據的方式。例如常見的型字面量: 
html

[html] view plaincopy在CODE上查看代碼片派生到個人代碼片數組

  1. 12                                  // 12整數  微信

  2. 1.2                                     // 1.2浮點數  函數

  3. "hello world"                       // 一個內容爲hello world的字符串  網站

  4. true                                    // 表示「真」布爾類型值  spa

  5. false                               // 表示「假」布爾類型值  .net

  6. {height:10,width:20}                // 表示一個對象  設計

  7. [1,2,3,4,5]                             // 表示數組對象  code

  8. null                                    // 表示不存在的對象  orm




數據類型轉換
JavaScript提供了類型轉換函數,這些轉換包括:轉換成字符串、轉換成數字和強制類型轉換。
一、轉換成字符串
咱們能夠將布爾類型和數值類型轉換爲字符串類型,布爾類型和數值類型它們都有toString()函數實現轉換。實例代碼以下:

[html] view plaincopy在CODE上查看代碼片派生到個人代碼片

  1. var found = false;  

  2. console.log(found.toString());              //輸出false  

  3.   

  4.   

  5. var num1 = 10;  

  6. var num2 = 10.0;  

  7. console.log(num1.toString());               //輸出 "10"  

  8. console.log(num2.toString());           //輸出 "10"  

  9.   

  10.   

  11. console.log(num2.toString(2));              //輸出二進制形式  "1010"   

  12. console.log(num2.toString(8));              //輸出八進制形式  "12"       

  13. console.log(num2.toString(16));     //輸出十六進制形式  "A"  



提示  在面向對象分析和設計過程當中,toString()應該叫作「方法」,而不是「函數」,方法要有主體的,而函數沒有主體。可是尊重JavaScript本書仍是把相似toString()方法稱爲函數。


二、轉換成數字
把非數字的原始值轉換成數字的函數:parseInt() 和 parseFloat()。實例代碼以下:

[html] view plaincopy在CODE上查看代碼片派生到個人代碼片

  1. var num3 = parseInt("12345red");            //返回 12345  

  2. var num4 = parseInt("0xA");                 //返回 10  

  3. var num5 = parseInt("56.9");                    //返回 56  

  4. var num6 = parseInt("red");                 //返回 NaN                            ①  

  5.   

  6.   

  7. var num6 = parseInt("10", 2);               //返回 二進制數2                      ②  

  8. var num7 = parseInt("10", 8);               //返回 八進制數8  

  9. var num8 = parseInt("10", 10);              //返回 十進制數10  

  10. var num9 = parseInt("AF", 16);          //返回 十六進制數175  

  11.   

  12.   

  13. var num10 = parseFloat("12345red");     //返回 12345  

  14. var num11 = parseFloat("0xA");          //返回 NaN                            ③  

  15. var num12 = parseFloat("11.2");         //返回 11.2  

  16. var num13 = parseFloat("11.22.33");     //返回 11.22                      ④  

  17. var num14 = parseFloat("0102");         //返回 102  

  18. var num15 = parseFloat("red");          //返回 NaN                            ⑤  



上述代碼第①、③和⑤行返回NaN表示沒法轉換有效的數值。第②行代碼的parseInt函數有兩個參數,第二個參數是基數,基數表示數值的進制。


三、強制類型轉換
咱們還能夠使用強制類型轉換來處理轉換值的類型,JavaScript 提供了三種強制類型轉換函數以下:

[html] view plaincopy在CODE上查看代碼片派生到個人代碼片

  1. Boolean(value),把給定的值轉換成布爾型。  

  2. Number(value),把給定的值轉換成數值。  

  3. String(value),把給定的值轉換成字符串。  

使用Boolean函數的實例代碼以下:

[html] view plaincopy在CODE上查看代碼片派生到個人代碼片

  1. var b1 = Boolean("");           //false - 空字符串                              ①  

  2. var b1 = Boolean("hello");      //true - 非空字符串                          ②  

  3. var b1 = Boolean(50);           //true - 非零數字                               ③  

  4. var b1 = Boolean(null);         //false – null                              ④  

  5. var b1 = Boolean(0);            //false - 零                                 ⑤  

  6. var b1 = Boolean({name: 'tony'});   //true - 對象                             ⑥  



Boolean函數能夠將轉換任何類型爲布爾類型,其中第①行的""值、第④行的null值和第④行的0值轉換後爲false,第②行的"hello"值、第③行的50值和第⑥行的對象值轉換後爲true。
使用Number函數的實例代碼以下:

[html] view plaincopy在CODE上查看代碼片派生到個人代碼片

  1. var n1 = Number(false);          //0  

  2. var n1 = Number(true);           //1  

  3. var n1 = Number(undefined);     //NaN                                       ①  

  4. var n1 = Number(null);           //0                                        ②  

  5. var n1 = Number("1.2");          //1.2  

  6. var n1 = Number("12");            //12  

  7. var n1 = Number("1.2.3");       //NaN                                       ③  

  8. var n1 = Number({name: 'tony'});    //NaN                                       ④  

  9. var n1 = Number(50);              //50  



Number函數能夠將轉換任何類型爲數值類型,其中第①行的undefined值、第③行的"1.2.3"值和第④行的對象值轉換後NaN,第②行的null值轉換後爲0。
提示  null表示無值,而undefined表示一個未聲明的變量,或已聲明但沒有賦值的變量,或一個並不存在的對象。


使用String函數的實例代碼以下:

[html] view plaincopy在CODE上查看代碼片派生到個人代碼片

  1. var s1 = String(null);              //"null"  

  2. var s1 = String({name: 'tony'});        //"[object Object]"  



String函數能夠將轉換任何類型爲字符串類型,其中對象狀況比較複雜。



更多內容請關注最新Cocos圖書《Cocos2d-x實戰:JS卷——Cocos2d-JS開發

本書交流討論網站:http://www.cocoagame.net

歡迎加入Cocos2d-x技術討論羣:257760386

更多精彩視頻課程請關注智捷課堂Cocos課程:http://v.51work6.com

智捷課堂現推出Cocos會員,敬請關注:http://v.51work6.com/courseInfoRedirect.do?action=netDetialInfo&courseId=844465&categoryId=0

《Cocos2d-x實戰 JS卷》現已上線,各大商店均已開售:

京東:http://item.jd.com/11659698.html

歡迎關注智捷iOS課堂微信公共平臺,瞭解最新技術文章、圖書、教程信息

相關文章
相關標籤/搜索