相关疑难解决方法(0)

为什么10..toString()有效,但10.toString()不起作用?

可能重复:
在JavaScript中使用toString

152..toString(2)
Run Code Online (Sandbox Code Playgroud)

正确创建二进制字符串"10011000",但是

152.toString(2)
Run Code Online (Sandbox Code Playgroud)

抛出一个例外

"SyntaxError:标识符在数字文字后立即启动"

为什么?后一种语法实际上听起来更正确,而前者看起来很奇怪!

javascript syntax

67
推荐指数
2
解决办法
8181
查看次数

在JavaScript中使用toString

我正在阅读Douglas Crockford的JavaScript:The Good Parts,我正处于定义淡入淡出功能的地步.部分代码归结为:

var level = 1;
var hex = level.toString(16);
Run Code Online (Sandbox Code Playgroud)

所以我在浏览器的控制台中运行它以查看我得到的内容....

var level = 1;
level.toString(16);
Run Code Online (Sandbox Code Playgroud)

嘿,它返回" 1"...... Fabuloso!Wunderbar酒吧!

然后,为了厚颜无耻,我试着看看我得到了什么......

1.toString(16);
Run Code Online (Sandbox Code Playgroud)

我明白了

SyntaxError:意外的标记ILLEGAL

什么是什么?如果level变量等于1,并且在该级别上运行此方法工作正常,那么为什么不在实际的数字1上运行此方法呢?我尝试了一种与该toPrecision()方法类似的实验,并且在两种情况下均可正常工作.这是什么问题?这是JavaScript实现中的另一个固有缺陷,还是我错过了什么?我正在Google Chrome中测试.

相关:Stack Overflow问题为什么数字文字不能访问Number方法?.

javascript

17
推荐指数
1
解决办法
1801
查看次数

number toString()方法返回number和variable的不同值

如果我跑

var num = 23;
var n = num.toString();
console.log(n)
Run Code Online (Sandbox Code Playgroud)

23按预期记录,但如果我toString()直接应用于数字,

var n = 15.toString();
console.log(n)
Run Code Online (Sandbox Code Playgroud)

它会抛出一个错误:

Uncaught SyntaxError: Invalid or unexpected token.
Run Code Online (Sandbox Code Playgroud)

我注意到它也适用于num变量中的十进制值(如.3,.99,2.12,99.1)等.有人可以帮我理解差异以及此函数的工作原理

javascript

2
推荐指数
1
解决办法
325
查看次数

标签 统计

javascript ×3

syntax ×1