强制类型转换

强制类型转换

将一个数据类型强制转换为其它的数据类型,主要指将其它的数据类型转换为String Number Boolean

将其它数据类型转换为String

方式一:调用被转换数据类型的toString()方法

例:

var a=123;

a.String();

注:

1.该方法不会影响到原变量,它会将转换的结果返回

2.null和undefined这两个值没有toString()方法,如果调用他们的方法,会报错

方式二:调用String()函数,并将被转换的数据作为参数传递给函数

例:

var a=123;

String(a);

注:

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

将其它数据类型转换为Number

方式一:使用Number()函数

例:

var a=123;

Number(a);

注:

字符串-->数字

1.如果是纯数字的字符串,直接将其转换为数字

2.如果字符串中有非数字的内容,则转换为NaN

3.如果字符串是一个空串或者是一个全是空格的字符串,则转换为0

布尔-->数字

1.true转换成1

2.false转换成0

Null--->数字   转换为0

undefined---

>数字  转换为null

方式二:专门用来对付字符串

parseInt()把一个字符串转换为一个整数

注:可以将一个字符串中的有效的整数内容取出,转换为Number

parseFloat()把一个字符串转换为一个浮点数

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

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

在js中如果需要表示16进制的数字,则需要以0x开头;如果需要表示8进制的数字,则需要以0开头(webstorm里需要0o开头);如果需要表示2进制的数字,则需要以0b开头(不是所有浏览器都支持)

注:像"070"这种字符串,有些浏览器会当成8进制,有些浏览器会当成10进制解析

可以在parseInt()中传递一个第二个参数来指定数字的进制

例:

a=parseInt(a,10);

将其它数据类型转换为Boolean

方式一:

使用Boolean()函数

数字--->Boolean

除了0和NaN,其余的都是true

字符串--->Boolean

除了空串,其余的都是true

null和undefined都会转换为false

对象也会转换为true

方式二(隐式类型转换)

为任意的数据类型做两次非运算,即可将其转换为布尔值

例:

var a="hello";

a=!!a;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值