js中数据的显式转换与隐式转换

                                      js中数据的显式转换与隐式转换

一、js中的数据类型:数字 字符串 布尔值 函数 对象(obj {} [] null) 未定义
二、js中数据的显式转换方法:Number(), perseInt(), perseFloat()
1、Number()
     NUmber() 是进行整体的转换,整体中如果有非数字的值,则不能进行转换,返回的     值为NaN
    在js中使用Number()进行转换时,js中的数据类型,类似于数字的字符串可以进行转       换,空的字符串转换为0;单个数组的值可以进行转换,空的数组的值转换为0,空的数     组中包含空的字符串,转换的值也为0;布尔值可 以进行转换 true的值为1 ,false的     值为0;null 可以进行转换,转换的值为0;其余的函数,未定义的, json,以及含有     很多数据的数组是不能进行转换的,如果强行转换,返回的值为NaN
    代码如下:
            var a='100';
            alert(a+100); //100100
            alert(Number(a)+100);//200
            var b='00100';
            alert(Number(b));// 100
            var c='+100';
            alert(Number(c));//100
            var d='-100';
            alert(Number(d));//-100
            var a1 = '';
            alert(Number(a1));//0
            var a2 = [];
            alert(Number(a2));  //0
            var a3 = [''];
            alert(Number(a3)); //0
            var a4 = null;
            alert(Number(a4)); //0
            var a5;
            alert(Number(a5)); //NaN
2、perseInt()、perseFloat()
     parseInt() parseFloat() 只能进行字符串中数字的转换
    它的转换规则是:从左边开始依次往右边进行转换,当遇见第一个非数字的符号时,     转换停止
    他们只 能进行字符串的数字转换,不能进行其他的转换,如果强行转换,返回的值时     NaN,parseInt()转换得到的值是整数型,parseFloat()转换得到的值是浮点数型,可       以通过这一知识利用他俩判断一个数是否是小数。
    代码如下:
            var a = '100abc200';
            alert(Number(a));     //NaN
            alert(parseInt(a));     //100
            alert(parseFloat(a)); //100

            var a1 = 'abc100';
            alert(parseInt(a1));     //NaN
            var a2 = '100.12';
            alert(parseInt(a2));     //100
            alert(parseFloat(a2)); //100.12
            
perseInt()   perseFloat()   的实例应用:判断一个数是否是浮点数
           var a = '100.123';
           if(parseInt(a) == parseFloat(a)){
            alert(a + '是整数');
           }else{
            alert(a + '是小数')
           }

    Number()  perseInt()  perseFloat() 他们的共性是当遇到的值不能进行转换,返回的       都是NaN 

三、js中数据的隐式转换方法 :
      1、 +  可以将数字转换为字符串
            alert(200 + '3');   //2003
      2、 -  *  /  % 可以将字符串转换成数字,进行计算
            alert(200 - '3');  //197
            alert('200' - '3');  //197
      3、 ++ -- 可以将字符串转换为数字进行计算
            var a = '10';
            a++;
            alert(a);  // 11
      4、> < 可以将字符串转换为数字进行比较
           alert('10'>9); //true
           alert('10'>'9') //false
           数字间进行比较与字符串的比较不同,数字是整体的数字进行比较。字符串是按            第一位与第一位比较,哪个值大哪个字符串就大,如果值相同,则比较第二位。            返回的都为布尔值
      5、== 
      6、! 取反  把右面的数据类型转换为布尔值 
           alert(!2) //false  
注意:此文章中红色标记的部位为重点部分,蓝色标记的为需要注意的部分,黄色部分为           应用实例部分    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章