码迷,mamicode.com
首页 > 其他好文 > 详细

数据类型,类型转换

时间:2015-12-09 13:48:34      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:

ECMAscript   标准、核心

规定了JS中的:语法、类型、语句、关键字、保留字、操作符、对象

一、数据类型  

    1、typeof ( 判断数据类型 )

  2、JS中的数据类型:数字类型、字符串类型、布尔值、函数类型、对象、未定义

    1)数字类型:

      var i = 100;

      alert(typeof i);           // number 

    2)字符串类型:

      var s = ‘ JavaScript ‘;

      alert(typeof s);         // string     

      alert(s.length);        // 字符串的长度,空格也占位

      alert(s.charAt(3));     //charAr  字符串下标

    3)布尔值

      var b = true;

      alert(typeof b);          //boolean

    4)函数类型:

      var fn = function () {alert(1);};

      fn()                         // 弹出1

    5)对象:( documnet, window. )

     :对象类型可以添加自定义属性:

      obj.abc = 123;

      alert( document.abc );           // 弹出123

     :对象类型可以添加自定义方法:

      obj.fn1 = function (){alert(1);};

      obj,fn1();                            // 弹出1

        1、  var obj = document;

          alert(typeof obj);         // object  

      2、  var arr = [1,2,3,4];        

          alert(typeof arr);         // object    

      3、  var json = {num:1,age:5};

        alert(json.num + json.age);

        alert(typeof json);         // object

        4、 var n = null;

           alert(typeof n);             // object

    6)未定义

      var u;

      alert(typeof u);        // undefined   

      

二、类型转换

 (一) 显示类型转换

  1、Number()   

    可以转的有:

   (1) var a = ‘+100‘;                                (2)   var a1 = ‘‘                                   (3)   var a2 = true;

      alert(Number(a));     // 100                     alert(Number(a1));    //  0                      alert(Number(a2));        // true 1;  false 0

   (4)   var a3 = [];                                    (5)   var n= null;

      alert(Number(a3));      // 0  空数组就是0;注意不要给太多东西,否则转不了                        alert(Number(n));       // 0

    不可以转的有: ( 转不出来的会显示NaN )

   (1)   var u;    

   (2)   var json = {abc:123};

   (3)   var fn = function (){ alert(1); };

    :NaN: (not a number )

    特性:1、"不是个 数字 的数字类型"

         2、一旦程序中出现NaN,肯定进行了非法的运算操作

       3、NaN在布尔值里是false

         4、与自己不相等

    :isNaN:( Is not a number )     主要是判断某些值是不是数字 

      isNaN在内部是根据Number来进行转换的,转换之后isNaN才判断,如果Number转出来的是数字,ISNaN就是false;反之就是true;

     判断某些值是不是数字:

      var str = ‘‘;

      str =  oText.value;

      if(isNaN(str)){

        alert(str + ‘不是数字‘)

      } else{

        alert(str + ‘是数字‘)

      }

  2、parseInt()        从左到右一个一个检测,遇到一个非数字的东西就不转换了

     parseFloat()     只认第一个小数

   例如: var num = ‘20.45‘;

      alert(parseInt(num));        // 20

      alert(parseFloat(num));     // 20.45

   判断一个值是小数还是整数:

    var num = 20.45;

    if(parseInt(num) === parseFloat(num)){

      alert(num + ‘是整数‘)

    } else {

      alert(num + ‘是小数‘)

    }

 

(二) 隐式类型转换

  +          200+’3‘  变成字符串    // 2003

  -  *  /  %  ++ --      ‘200‘-3    变成数字        

  ><                          要注意是数字的比较还是字符串的比较

  !                             取反  把右边的数字类型转成布尔值

  ==                          两个等号是判断最终的值

  ===         三个等号是:全等  不仅判断最终的值,还判断类型  (更为严谨)

      

 

数据类型,类型转换

标签:

原文地址:http://www.cnblogs.com/effieduo/p/5032429.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!