js基础_3、强制类型转换-string

强制类型转换

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

[========]


将其它的数据类型转为String

①方式1

调用被转数据类型的toString()方法。
该方法不会影响到原变量的类型,因为它会将转换的结果返回,只有通过返回值来重新赋值。
比如: a=a.toString();
注意:null和undefined这两个值没有tostring()方法,如果调用tostring()方法会报错。所以方式1有局限性。

②方式2

调用String()函数,并将被转换的数据作为参数传递给函数。
比如: a=String(a);
注意:使用String()函数做强制类型转换时,对于Number、Boolean实际上就是调用toString()方法,但是对于null和undefined这两个值就不会调用toString()方法,它会将null直接转换为”null”,将undefined直接转换为”undefined”。

[========]


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

①转换方式一

使用Number()函数。
比如:a=Number(a);

字符串转换为数字的转换情况:
1,如果是纯数字的字符串,则直接转换成数字。
2,如果字符串中有非数字的字符,则转换成NaN。
3,如果字符串是一个空串或者全是空格的字符串则转换成0

布尔值转数字
true转成1
false转成0

Null转数字
null转成0

Undefined转数字
undefined转成NaN

方式一会有局限性,比如:”10px”+10的话,做不到,因为前面一坨被转为了NaN了。

②转换方式二

这种方式专门用来处理字符串
parseInt():把一个字符串转换为一个整数。
parseFloat():把一个字符串转换为一个浮点数。

parseInt():可以将一个字符串中的有效整数内容取出来,然后转换为Number,它是从左往右开始读的,直到遇到第一个非数字的字符时结束。
比如:var a=”123px”;
a=parseInt(a);—->结果:”123”

注意:如果对非String类型使用parseInt()或者parseFloat(),它会先将其转换为String然后再操作。比如 var a=true;a=parseInt(a);——->结果Nan

[========]


将其它数据类型转换为Boolean

使用Boolean()函数

数值类型转布尔
除了0和NaN,其余都为true(值)

字符串转为Boolean
除了空串,其余都为true(值)
比如:var a=””;a=Boolean(a);console.log(a);//结果为false

null 和Undefined 转为 Boolean
都会转成false

Object 转为 Boolean
都会转成true

方式二

为任意类型的值做两次非运算,即可将其转换为布尔值。
原理和Boolean()函数一样

posted @ 2022-03-11 18:33  青仙  阅读(508)  评论(0编辑  收藏  举报