javascript_C3数据类型上

来源:互联网 发布:少女前线一直网络 编辑:程序博客网 时间:2024/06/05 09:04

3.1  typeof 操作符

用法: alert(typeof("Hello"));          ==>"string"     // 参数为字面量

            var message="Hello World!";            

            alert(typeof(message));      ==>"string"      // 参数为变量

            alert( typeof 9);                      ==>"number"  // 因为typeof是操作符而不是函数,所以圆括号不是必须的

3.2数据类型

      a,  Undefined类型

      b,  Null类型

      c,  Boolean类型

      d,  Number类型

      e,  String 类型

       f,  Object类型

3.3 Undefined 类型

  a、  只有一个值undefined

  b、 多用于比较   

    var message;

   alert(message==undefined);    ==>true   //  message 未经初始化默认取得undefined

  c、未经声明的变量只能用typeof操作符检测类型,返回undefined值

      alert(typeof message2); ==>undefinde

3.4 Null 类型

      a、只有一个值:null

      b、var car=null;                                      //如果定义的对象将来用于保存指针,应该明确地让该变量保存null值。

            alert(typeof car);    ===>"object"   //null值表示一个空对象指针,返回object

      c、因为:undefined值派生自null值

            所以:alert(null==undefined);  ===>true

3.5 Boolean 类型

     a、该类型只有两个字面值:true和false(区分大小写)

     b、Boolean()转型函数

           (1)用法:var message="Hello World!";

                            var messageAsBoolean=Boolean(message);

           (2) 自动执行Boolean函数

                            var message1="Hello Javascript";

                             if(message1){           //此处自动调用了Boolean函数,∵message1非空,∴返回true

                               alert("Value is true");

                              }          

           (3)其他类型转换为Boolean值

                表1数据类型转换为true的值转换为false的值BooleantruefalseString非空字符串""(空字符串)Number任何非零数字值(include inf)0和NaN(not a number)Object任何对象null(空对象指针)Undefinedn/aundefined





   


3.6 Number类型

      3.6.1整数

          a、十进制

                  var intNum=55;

          b、八进制(0-7)

                  var octalNum1=070;            // 八进制第一位必须是(0);八进制56

                  var octalNum2=079;           //∵ 字面值超出了范围,被解析为十进制79

         c、十六进制(0~9及A~F/a~f)

                 var hexNum1=0xA;              //十六进制10

      3.6.2 浮点数值

          a、举例:      var floatNum1=1.1;

                                   var floatNum1=5.0;   //如果浮点数值本身就是一个整数(5.0),那么该值会被转换为整数5。  

                                   var floatNum1=.1;     //有效但不推荐

          b、注意:

                           ∵ 0.1+0.2=0.3 0000000000000004;   //浮点数最高精度17位小数。

                           ∴  var a=0.1;

                                 var b=0.2;

                                 alert (a+b==0.3);   ===>false      

       3.6.3 数值范围

         ECMAScript能表示的最小数值保存在 Number.MIN_VALUE中------------在大多数浏览器中值为5e-324

         ECMAScript能表示的最小数值保存在 Number.MAX_VALUE中------------在大多数浏览器中值为1.7976931348623157e+308

         说明:如果超出这个范围则转换为  Infinity或 -Infinity;并且无法继续参与下一次计算。

         isFinite()函数   -----用于判断一个数值是不是有穷的,若是返回true,若不是返回false

         举例:  

                         var result= Number.MIN_VALUE+ Number.MIN_VALUE;

                         alert(isFinite(result));      ===>false       

     3.6.4 NaN

       特点1:任何涉及NaN的操作都返回NaN。

       特点2:NaN与任何值都不相等,包括自身。

       isNaN()函数 ------参数可以是任何类型

       举例:

                 alert(isNaN(NaN));  ===>true

                 alert(isNaN(10));      ===>false                          

                 alert(isNaN("10"));   ===>false (可以被转换成数值10)            

                 alert(isNaN(true));   ===> false (布尔值true可以转换为数值1)

                 alert(isNaN("true")); ====>true (字符串true不可以转换为数值)      

                 说明:isNaN()参数还可以对象    

     3.6.5  数值转换

    Number()      ---可用于任何数据类型

    parseInt()         ---字符串

    parseFloat()    ---字符串

    Number()函数 举例:

                                        alert(Number(true));   ===>1           //true->1; false->0

                                        alert(Number(null));   ===>0

                                        alert(Number(undefined));   ===>NaN

                                        alert(Number("0123"));    ===>123    //前导的0被忽略不会转换为其他进制数值。

                                        alert(Number("1.1"));     ===>1.1

                                        alert(Number("0xf"));      ===>15

                                        alert(Number(""));            ===>0

                                        alert(Number("a2b3c4"));   ===>NaN

                                        alert(Number(对象));          ===>valueOf()----if(转换结果是NaN)---->toString()--

   parseInt()函数举例:

                                          var num1=parseInt("123abc");  //123

                                          var num2=parseInt("");                 //0

                                          var num3=parseInt("0xA");          //10

                                          var num4=parseInt(22.5);           //22(小数点不.是有效的数字字符)      

                                          var num5=parseInt("070");         //56(∵前导的0没有被忽略,∴被转换为八进制)

                                          var num6=parseInt("0xf");           //15(十六进制)         

                         注意:parseInt()函数还有第二个参数(标示:转换为 二进制、八进制、十进制或十六进制) 要明确指定基数

                                            var num7=parseInt("012",8);   //10(八进制)

                                            var num8=parseInt("012",16); //18(十六进制)                         

                                            var num9=parseInt("AF");         //NaN                                                                                                                        

                                            var num10=parseInt("AF",16); //31 

                                         

   parseFloat() 函数举例 

                         特点1:与parseInt()不同,parseFloat()函数在解析字符串时,字符串中第一个小数点有效,后边的小数点无效。

                         特点2:与parseInt()另一不同,它始终会忽略字符串前导的0

                          var fnum1=parseFloat("22.33.46");   //22.33

                          var fnum2=parseFloat("078");              //78                                                                                                                                                                                                                                           var fnum3=parseFloat("0xF");    //0(十六进制都返回0)

                          var fnum4=parseFloat("1289.0");   //1289整数(如果字符串是整数或小数部分为0则返回整数值)                                                                                                                      





0 0