JavaScript基础学习之强制类转换(二)

强制类型转化
    -将一个数据类型强制转化为其他数据类型
  -类型转化主要指的就是,将其他的数据类型,转化为
      String、Number、Boolean

将其他类型转化为String
      方式一:
        -调用被转换类型的toString()方法
      -该方法不会影响原变量,它会将转化结果返回
      -但是注意:null和undefined这两个之没有toString()方法
          如果调用调用它们的方法会报错
    方式二:
        -使用String()函数,并将转化的数据作为参数传递给函数
      -使用String()函数做强制类型转换时,对于Number和Boolean
          就是调用了toString()方法,但是对于null和undefined,
        就不调用toString(),它会将null直接转化为"null",将
        undefined直接转化为"undefined"

var a=123;
a=a.toString();
a=null;
//a=a.toString()报错
a=undefined;
//a=a.toString()报错
a=123;
//调用String()函数,将a转化为字符串
a=String(a);
document.write(typeof a);
document.write(a);

将其他类型转化为Number
      方式一:
        使用Number()函数
          -字符串-->数字
            1.如果是纯数字字符串,则直接将其转化为数字
          2.如果字符串中有非数字的内容,则转化为NaN
          3.如果字符是空串或是全是空格的字符串则转化为0
        -布尔-->数字
            true转为1,false转为0
        -null-->数字 0
        -undefined-->数字 NaN
    方式二:
        -这种方式专门用来处理字符串
      -parseInt()把一个字符串转化为一个整数
      -parseFloat()把一个字符串转化为浮点数

var a="123";
//转化为NaN
a="abc";
//转化为0
a="";a=" ";
//true转化为1,false转化为0
a=true;a=false;
//null转数字为0
a=null;
//调用Number()函数
a=Number(a);

a="123px";
//调用parseInt()函数将a转化为Number,可以将一个字符串中有效的整数取出然后转化为Number
a=parseInt(a);
//undefined转数字为NaN
document.write(typeof a);
document.write(a);

在JS中,如果有需要表示16进制的数字,则需要0x开头
             如果有需要表示8进制的数字,则需要0开头
             如果需要表示2进制数字,则需要0b开头,但不是所有浏览器都支持

//16进制
var a=0x10;
//8进制
a=010;
//二进制
a=0b10101;

a="070";
//可以在parseInt()中传递第二个参数,用来指定数字的进制
a=parseInt(a,8);
document.write(typeof a);
document.write(a);

将替他的数据类型转化为Boolean
      -使用Boolean()函数
       -数字--》布尔
          -除了0和NaN其余的都是true
      -字符串--》布尔
          -除了空串其余的都是ture
      -null和undefined都是false
      -Object也会转换为true

var a=123;//true
a=0;//false
a=Infinity;//true
a=NaN;//false
a=null;//false
a=undefined;//false
a=Boolean(a);
document.write(typeof a);
document.write(a);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值