javeScript学习 003(数据类型转换)

数据类型转换

  所有程序设计语言最重要的特征之一是具有进行类型转换的能力。

一,转换成字符串

  1,toString()

    a. 字符串本身也能被转换,ECMAScript定义所有对象都有toString()方法,无论他是伪对象,还是真对象。

1  var str = 'hello';
2  console.log(str.toString());    //输出'hello'  仍是字符串类型

    b. 布尔值转换为字符串

1   var boo1 = false;
2   console.log(typeof boo1)       //输出boolean,布尔值数据类型
3   console.log(boo1.toString())   //输出'false' 变为了字符串类型
4   var boo2 = true;
5   console.log(typeof boo2)       //输出boolean,布尔值数据类型
6   console.log(boo2.toString())   //输出'true' 变为了字符串类型   

    c. 数字装换为字符串

1   var num = 66;
2   console.log(num.toString());    //输出'66'  变为字符串类型
3   var num1 = 0;
4   console.log(num1.toString());   //输出'0'  变为字符串类型

    d. null和undefined的转换

1   var blank = null;
2   console.log(blank.toString());    //输出报错,无法转换
3   var unknown = undefined;
4   console.log(unknown.toString());    //输出报错,无法转换

 

二,转换成数字

  ECMAScript提供了整数型(parenInt)和浮点型(parentFloat)两种把非数字的原始数值装换为数字的方法。只有对 String 类型调用这些方法,它们才能正确运行;对其他类型返回的都是 NaN。

  1,parseInt()整数型

1   var Num1 = "012345hello";    
2   console.log(parseInt(Num1))         //输出 12345  忽略开头的零
3   var Num1 = "hello1234";         //从左至右检测是否为数字,是数字则继续判断下一位直至结束输出,
                          只要检测出不是数字的值就输出NaN
4   console.log(parseInt(Num1)) //输出 NaN 5   var Num2 = parseInt("0xA"); //返回 10 八进制和十六进制都会转换为十进制,此处为十六进制 6   var Num3 = parseInt("56.9"); //返回 56 取整数 7   var Num4 = parseInt("hello"); //返回 NaN

 

  2,parseFloat()浮点型

1   var Num1 = parseFloat("123hello");      //返回 12345
2   var Num2 = parseFloat("0xA");           //返回 NaN  浮点型无法转换十六进制,因为包含有x
3   var Num3 = parseFloat("11.2");          //返回 11.2  
4   var Num4 = parseFloat("11.22.33");      //返回 11.22 第一个出现的小数点是有效字符,
                             如果有两个小数点,第二个小数点将被看作无效的。
                             parseFloat() 会把这个小数点之前的字符转换成数字。
5   var Num5 = parseFloat("0102");   //返回 102 6   var Num6 = parseFloat("hello"); //返回 NaN

 

 

三,强制类型转换

  1,Boolean()  转换为布尔值

    非空字符串,非零数字和对象都为true;空字符串,数字零,null 和 undefined则为false;

1         var str = Boolean('hello');          //非空字符串 返回true
2         var str1 = Boolean('');              //空字符串 返回false
3         var num = Boolean(66);               //非零数字 返回true
4         var num1 = Boolean(0);               //数字零 返回false
5         var  test = Boolean(null);           //返回false
6         var test1 = Boolean(undefined);      //返回false

 

  2,Number()  转换为数字(可以是整数和浮点数)

    Number()和整数型(parenInt)和浮点型(parentFloat)转换的方法类似。但是Number只能转换整个值,对"1.2.3"这种字符串会输出NaN。

复制代码
1         console.log(Number(false));       //输出 0
2         console.log(Number(true));        //输出 1
3         console.log(Number(null));        //输出 0
4         console.log(Number(undefined));     //输出 NaN
5         console.log(Number('6'));          //输出 6
6         console.log(Number('6.6'));        //输出 6.6
7         console.log(Number('6.6.6'));       //输出 NaN
8         console.log(Number('hello'));       //输出 NaN
9         console.log(Number(66));           //输出 66
复制代码

 

  3,String()  转换为字符串

    String()可以把任何值转换为字符串。它和调用 toString() 方法的唯一不同之处在于,对 null 和 undefined 值强制类型转换可以生成字符串而不引发错误:

        console.log(String(null));       //输出'null'字符串
        console.log(String(undefined));  //输出'undefined'字符串

 

posted @   AVEGER  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示