问题的来源:由于对这两个函数parseInt()和toString()用法比较模糊,觉得有必要亲自区分一下。
1、parseInt()为js全局函数,类似的还有parseFloat()。先来看下W3school对函数parseInt()的介绍:
一些示例:
<script type="text/javascript">
var x='110';
console.log(parseInt(x,2));//6,以2进制去解析字符串x,转换成10进制数
document.write(parseInt("12px",10) + "<br/>");//12
document.write(parseInt("0x12",10) + "<br/>");//0
//按10进制去处理字符串,碰到非数字字符,会将后面的全部无视
document.write(parseInt("123") + "<br/>");//123,以10进制来解析字符串
document.write(parseInt("1abc23") + "<br/>");//1
document.write(parseInt("123abc") + "<br/>");//123
document.write(parseInt("abc") + "<br/>");//NaN
document.write(parseInt("123",2));//1,因为2、3不能解析
</script>
2、js中的Boolean、Number、Array、Date、String对象都有toString()方法,而String对象一般不会调用该方法。区别如下:
- Boolean——toString() 方法可把一个逻辑值转换为字符串,并返回结果。
- Number——toString() 方法可把一个 Number 对象转换为一个字符串,并返回结果。
number对象语法:
例子:
<script type="text/javascript">
var num = 8;
document.write (num.toString(2));//1000
</script>
- Array——toString() 方法可把数组转换为字符串,并返回结果。
- Date——toString() 方法可把 Date 对象转换为字符串,并返回结果。