JavaScript 语法小问题?

3.toString()3..toString()3...toString()结果是什么?为什么?这是网上看到的一个小题目,结果是error3error... 3.toString()
3..toString()
3...toString()

结果是什么?为什么?
这是网上看到的一个小题目,结果是 error 3 error
展开
 我来答
ispiders
推荐于2016-06-23 · TA获得超过1241个赞
知道小有建树答主
回答量:517
采纳率:80%
帮助的人:207万
展开全部

首先先区分一下几个概念:

  1. 整数 如: 3 (不是变量)

  2. 浮点数 如:3.0, 3. 其实就相当于 3.0

  3. 数字类型变量 n = 3, f = 3.0 (注意和上面两点区分,这里是变量)


第一个例子,js中执行过程中整数应该没有被编译为对象所以也就会报语法错误, 而如果先给变量赋值则可以使用toString, n = 3, n.toString() == "3"

第二个例子,3. 为浮点数,应该是被编译为了对象,所以其实相当于 3.0.toString() == “3”

第三个例子,自然就是又多了一个 . 于是报语法错误


以上个人理解, 欢迎指正

追问
查到了,3.toString()貌似被当成(3.)toString来解析了
而3..toString()则被当成(3.).toString所以正常
ijkoplo
2015-01-30 · TA获得超过349个赞
知道小有建树答主
回答量:524
采纳率:0%
帮助的人:234万
展开全部
全都错了,数字没有toString 后两个简直了。。。
追问
看补充,好奇第二个为何
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
明知没有理由丷dhdfa
2015-01-30 · TA获得超过486个赞
知道小有建树答主
回答量:545
采纳率:0%
帮助的人:187万
展开全部
toString是返回该对象的字符串
追问
看补充,好奇第二个为何
追答
你去问开发toString者
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
swwinsmile
2018-07-11
知道答主
回答量:1
采纳率:0%
帮助的人:853
展开全部
3.toString(); js解析器将3解析为标示符了,而js中的标示符必须是字母下划线或$符号开头,所以这里报的语法错误其实是标示符错误。

3..toString() ; 这个表达式很明显 3.是一个原始值,不是标示符,js解释器将3.解释为原始值 然后转包装对象 再调用包装对象的toString()。所以得到了正确的结果。

3...toString(); 第一个3.解释为原始值, 后面的..运算符再js中不存在,所以给一个语法错误。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式