600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > js中的强制转换

js中的强制转换

时间:2023-02-21 21:28:22

相关推荐

js中的强制转换

将其他数据类型的转换为字符串类型

方法一:

调用被转换类型的toString()方法

<script>var a=123;a=a.toString();console.log(typeof a);console.log(a);</script>

大家注意,a.toString()不会影响到原变量,不过该方法是有返回结果的,所以要用变量去接收。

另外需要注意:这个方法,不能转换基本数据类型中的null和undefined,会报错的!因为他们都没有toString()方法。

那怎么解决这个问题呢?看第二个方法。

方法二:

调用String()函数,将转换的数据当作参数传给函数。

<script>var a=123;a=String(a);console.log(typeof a);console.log(a);</script>

使用函数的方法时,字符串类型、数值类型、布尔类型他们其实也是调用的tostring()方法;而null和undefined都是用函数进行的强制转换,所以不会报错。

将其他类型转换为数值类型

方法一:

需注意,转换为数值类型没有toNumber()方法;只有Number()函数的方式。

<script>var a='123';a=Number(a);console.log(typeof a);console.log(a);</script>

还有几点也很重要:

1、如果字符串中含有非数字,则转换为NAN;

2、如果字符串说空字符串和多个空格组成的字符串,则转换为0;

3、true转换为1,false转换为0;

4、Null转换为0;

5、undefined转换为NAN。

方法二:

parseInt()和parseFloat()函数

<script>var a='123px';a=parseInt(a);console.log(typeof a);console.log(a);</script>

这个函数有个好处,它可以返回整数,而不是像Number()函数一样,遇到非数字返回NAN;

如果px后有其他数字,后面的数字也不会去处理。

如果对非String使用parseInt()和parseFloat(),它会将其先转换为String,再转换。

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。