问题的来源:由于对这两个函数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对象一般不会调用该方法。区别如下:
number对象语法:
toString" class="has" src="https://img-blog.csdnimg.cn/2019040211101521.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI3OTU0NjQz,size_16,color_FFFFFF,t_70" />
例子:
<script type="text/javascript">
var num = 8;
document.write (num.toString(2));//1000
</script>