JavaScript 语法小问题?
3.toString()3..toString()3...toString()结果是什么?为什么?这是网上看到的一个小题目,结果是error3error...
3.toString()
3..toString()
3...toString()
结果是什么?为什么?
这是网上看到的一个小题目,结果是 error 3 error 展开
3..toString()
3...toString()
结果是什么?为什么?
这是网上看到的一个小题目,结果是 error 3 error 展开
4个回答
展开全部
首先先区分一下几个概念:
整数 如: 3 (不是变量)
浮点数 如:3.0, 3. 其实就相当于 3.0
数字类型变量 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所以正常
展开全部
全都错了,数字没有toString 后两个简直了。。。
追问
看补充,好奇第二个为何
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
toString是返回该对象的字符串
追问
看补充,好奇第二个为何
追答
你去问开发toString者
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
3.toString(); js解析器将3解析为标示符了,而js中的标示符必须是字母下划线或$符号开头,所以这里报的语法错误其实是标示符错误。
3..toString() ; 这个表达式很明显 3.是一个原始值,不是标示符,js解释器将3.解释为原始值 然后转包装对象 再调用包装对象的toString()。所以得到了正确的结果。
3...toString(); 第一个3.解释为原始值, 后面的..运算符再js中不存在,所以给一个语法错误。
3..toString() ; 这个表达式很明显 3.是一个原始值,不是标示符,js解释器将3.解释为原始值 然后转包装对象 再调用包装对象的toString()。所以得到了正确的结果。
3...toString(); 第一个3.解释为原始值, 后面的..运算符再js中不存在,所以给一个语法错误。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询