一道关于JavaScript解析器错误的面试题

Posted PrConstantin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一道关于JavaScript解析器错误的面试题相关的知识,希望对你有一定的参考价值。

题目:

    var n = 2.toString()
    console.log(n)

问输出什么?

答案是控制台报错,原因如下:
数字的字面值(literal)不能当作对象使用。这是因为 javascript 解析器的一个错误, 它试图将点操作符解析为浮点数字面值的一部分。

2.toString(); // 出错:SyntaxError

有很多变通方法可以让数字的字面值看起来像对象。

2..toString(); // 第二个点号可以正常解析
2 .toString(); // 注意点号前面的空格
(2).toString(); // 2先被计算

解释出自:
JavaScript Garden

以上是关于一道关于JavaScript解析器错误的面试题的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 关于变量作用域的一道面试题

关于Java类加载双亲委派机制的思考(附一道面试题)

一道关于JS作用域的面试题

高频面试题:JavaScript事件循环机制解析

String面试题解析

String面试题解析