• JavaScript数据类型


    数据类型在任何的计算机语言中都比较重要的,JavaScript语言也是面向对象的。
    数据类型
    JavaScript数据类型可以分为:数值类型、布尔类型、字符串类型、对象类型和数组类型等。
    1、数值类型
    数值类型包括了整数和浮点数,整数可以是十进制、十六进制和八进制数,十进制数由一串数字序列组成,它的第一个数字不能为0。如果第一个数字为0,则表示它是一个八进制数。如果0x,则表示它为一个十六进制数。 
    浮点数必须包含一个数字、一个小数点或“e”(或“E”)。浮点数例子如下:3.1415、 -3.1E12、0.1e12和2E-12。
    2、布尔类型
    布尔类型有两种值:true 和 false。
    3、字符串类型
    字符串是若干封装在双括号(")或单括号(')内的字符。字符串例子如下:
    "fish" 
    'fish' 
    "5467" 
    "a line" 
    4、对象类型
    用new生成一个新的对象,var currentDay = new Date()。
    5、数组类型
    数组类型Array 也是一个对象,我们可以通过var arr = new Array(3)语句创建,其中3是数组的长度,我们可以通过arr.length属性取得数组的长度。


    数据类型字面量
    数据类型字面量(Literals)是在程序中使用的字符表示数据的方式。例如常见的型字面量: 

    [html] view plaincopy在CODE上查看代码片派生到我的代码片
     
    1. 12                                  // 12整数  
    2. 1.2                                     // 1.2浮点数  
    3. "hello world"                       // 一个内容为hello world的字符串  
    4. true                                    // 表示“真”布尔类型值  
    5. false                               // 表示“假”布尔类型值  
    6. {height:10,20}                // 表示一个对象  
    7. [1,2,3,4,5]                             // 表示数组对象  
    8. null                                    // 表示不存在的对象  




    数据类型转换
    JavaScript提供了类型转换函数,这些转换包括:转换成字符串、转换成数字和强制类型转换。
    1、转换成字符串
    我们可以将布尔类型和数值类型转换为字符串类型,布尔类型和数值类型它们都有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()方法称为函数。


    2、转换成数字
    把非数字的原始值转换成数字的函数: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函数有两个参数,第二个参数是基数,基数表示数值的进制。


    3、强制类型转换
    我们还可以使用强制类型转换来处理转换值的类型,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

    《Cocos2d-x实战 JS卷》现已上线,各大商店均已开售:

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

    欢迎关注智捷iOS课堂微信公共平台,了解最新技术文章、图书、教程信息

  • 相关阅读:
    java每日一学--数据校验20131008
    转载:正则表达式30分钟入门[1]
    【Java可移植性】编程规范每日一学--20130923
    【Java可移植性】编程规范每日一学--20130917
    【Java资源管理】编程规范每日一学--20130916
    瀑布流第二种方式————基于ajax方式
    瀑布流方式一
    JSONP跨域
    利用iframe和form上传和预览图片
    Ajax全套
  • 原文地址:https://www.cnblogs.com/iOS-Blog/p/4342091.html
Copyright © 2020-2023  润新知