首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javascript toExponential方法的奇怪行为

问javascript toExponential方法的奇怪行为
EN

Stack Overflow用户
提问于 2020-04-11 23:08:34
回答 1查看 88关注 0票数 0

MDN说:

如果对数字文字使用toExponential()方法,而数字文字没有指数,也没有小数点,那么在方法调用之前的点之前留空格,以防止将点解释为小数点。

但是,当尝试将此方法用于数字文字(下面的片段)时,我会得到一个错误:

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

将点解释为小数点应该没有问题,因为在小数点之后没有数字。

而且,当我第一次在jsfiddle.net上运行它时,这段代码出现了一个错误。但现在它没有给出任何错误。奇怪!

到底是怎么回事?谁是对的?MDN的浏览器兼容性表说,这种方法从很久以前就得到了充分的支持。

​

代码语言:javascript
复制
document.getElementById('a').innerHTML = 100 .toExponential();
document.getElementById('b').innerHTML = 100.toExponential();
代码语言:javascript
复制
<span id='a'></span><br>
<span id='b'></span>

​

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-11 23:13:05

您不能在像100.toExponential()这样的数字上调用一个函数,所以要么添加一个空白,要么添加另一个点。原因是在处理数字时,JavaScript期望在第一个点之后有一个小数点.因此,通过添加另一个点,我们告诉JavaScript,十进制部分是空的,它可以继续这个方法。

​

代码语言:javascript
复制
document.getElementById("a").innerHTML = 100 .toExponential();
document.getElementById("b").innerHTML = 100..toExponential();
document.getElementById("c").innerHTML = (100).toExponential();
代码语言:javascript
复制
<span id="a"></span><br />
<span id="b"></span><br />
<span id="c"></span>

​

代码可能会在第一次运行时给您一个jsfiddle错误,因为有语法错误,例如,在保存文件时很可能会自动更正。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61164829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档