JS中的数据强制类型转换

1.含义

强制类型转换指的是将一个数据类型强制转换为其他的数据类型

类型转换主要指,将其他的数据类型,转换为 String Number Boolean即字符串,数值和布尔值

2.将其他的数据类型转换为Sting

1.方式一:

        - 调用被转换数据类型的toString()方法
        - 该方法不会影响到原变量,它会将转换结果返回
        - 但是要注意:null和undefined这两个没有toString   调用会报错

a =true;
//调用xxx的yyy()方法,就是xxx.yyy()
a =a.toString();
document.write(typeof a);//string
document.write(a);//true

2.方式二:

         - 调用String()函数,并将参数传递给函数
         - 使用String()函数做强制类型转换时,
                 对于Number和Boolean实际上就是调用的toString()方法
                 但是对于null和undefined,就不会调研toString()方法
                 它会将null 直接转换为 "null"
                 将undefined 直接转换为 "undefined"

a=null;
a=String(a);
document.write(typeof a);//string
document.write(a);//null

3.将其他的数据类型转换为Number

1.方式一

使用number()函数

将字符串转换成数字
  1.纯数字:转换成数字

var a="123";
a=Number(a);
console.log(typeof a);//Number
console.log(a);//123


   2.有非数字内容:nan

var a="123px";
a = Number(a)
console.log(typeof a);//number
console.log(a);//NaN


    3.空窜/全是空格:null
    4.true/false:1/0
    5.null --> 数字0
    6.undefined --> 数字nan

2.方式二

使用parseInt()和parseFloat()函数(专门用于应付字符串)

parseInt()

var a="123px";
a=parseInt(a);
console.log(typeof a);//Number
console.log(a);//123

parseFloat()

        parseFloat()和parseInt()类似,不同的是它可以获得有效的小数

var a="133.54px";
a=parseFloat(a);
console.log(typeof a);//Number
console.log(a);//133.54

        对非String使用parseInt()或parseFloat()
        它会先将其转换为String然后再操作

3.其他的进制

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

//16进制
a=0x10;
a=0xff;
			
//8进制
a=070;
			
//2进制
a=0b10;
			
//像"070"这种字符串,有些浏览器会当成8进制解析吗,有些会当成10进制解析
a="070";
			
//可以在pareeInt()中传递一个第二个参数,来指定数字的进制
a=parseInt(a,8);
console.log(a);

4.将其他的数据类型转换为Boolean

使用boolean()函数
         将数字转换为布尔
                  除了0和NaN,其余的都是true
         将字符串转换为布尔
                  除了空串,其余都是true
                  null和undefined都会转换为false

var a=123;//true
a=456;//true
a=0;//false
a=Infinity;//true
a=NaN;//false
		 
a="true";//true
a="";//false
		 
a=null;//false	 
a=undefined;//false

a=Boolean(a);

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值