Number和toString中的坑

Posted linjunfu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Number和toString中的坑相关的知识,希望对你有一定的参考价值。

在之前的一篇文章 javascript中的大数相加 中,在做大数相加时,
突然想到 数字.toString方法 会报错,但是作为函数参数传进来,直接调用 toString 方法却不会报错

 

上网搜了看看,我推测是因为浏览器将 数字.toString 中的 点符号 ,解析为小数点符号
而不是通过 点符号 来调用方法或访问对象属性
因为没有 9527.toString 这样的浮点数,所以报错了
 
那么如何正确调用数值的 toString 呢,应该这么写,可以有以下几种方式
1 20..toString() 等价于 20.0.toString()
2 20 .toString() 因为浮点数中数字和点之间不会有空格,所以解析的时候不会将这个点当作浮点数的点来解析 就等价于 20 调用 toString()
3 (20).toString() 将数字用括号包起来,明确了点和数字的关系,不至于发生混淆
4 20[‘toString‘]() 不符合常规写法
推荐第三种写法

 

以上是关于Number和toString中的坑的主要内容,如果未能解决你的问题,请参考以下文章

C#中string()和ToString()有啥区别?

类型转换的坑

代码片段:Shell脚本实现重复执行和多进程

C 中的共享内存代码片段

JS中的toString()和valueOf()方法

.net LTS3.1升5.0和LTS6.0隐蔽的坑