手记

数据类型转换[下][JavaScript之美]

显示类型转换 Number:
//使用方式
    //parseInt(), parseFloat()
        //使用情况
            //1. 字符串---->只要最高位为数字则会转换为数值(一旦遇到字符会立即停止向右查找,直接返回字符左边的),否则转换为NaN
            //2. 其他---->NaN
//以parseInt()为例,parseFloat()同理,
var num = parseInt("123a");//结果为:"num=123, typeof=number", 方式1的测试
    num = parseInt("123a123");//结果为:"num=123, typeof=number",  方式1的测试
    num = parseInt("a123");//结果为:"num=NaN, typeof=number",  方式1的测试
    num = parseInt(true);//结果为:"num=NaN, typeof=number",  方式2的测试
    //其他情况略......
console.log("num=" + num + ", typeof=" + typeof num);
String:
//对应引用数据类型的隐式转换,直接调用toString()方法
    var arr = ["www", "imooc", "com"];//定义数组
//  arr = arr.join(".");//数组间的元素通过.连接成一个字符串
    console.log(arr.toString());//"www,imooc,com"
Boolean:
//使用方式
    //new Boolean();
//同样地,定义一个函数
function fnIsObviousBool(iValue) {
    var bool = new Boolean(iValue);
    console.log("bool=" + bool + ", typeof=" + typeof bool);
}

Number----> Boolean:

fnIsObviousBool(0);//false
fnIsObviousBool(0.0);//false
fnIsObviousBool(NaN);//false
fnIsObviousBool(1);//true

String----> Boolean:

fnIsObviousBool("");//false
fnIsObviousBool("imooc");//true

Null----> Boolean:

fnIsObviousBool(null);//false

Undefined---->Boolean:

fnIsObviousBool(undefined);//false

总结一下:与隐式转换一样,也有6种情况为false, 其他情况都为true

5人推荐
随时随地看视频
慕课网APP