使用或不使用变量的数字之间的差异
difference between numbers using or without using variable
以下代码之间有什么区别?
var a = 1;
a.toString(); // outputs: "1"
但这引发了一个错误:
1.toString();
SyntaxError:意外的令牌非法
为什么?为什么第一个代码有效,而第二个代码抛出错误?
对于方法调用,区分浮点数和方法调用点非常重要。因此,您不能编写1.toString();
,必须使用以下选项之一:
1..toString()
1 .toString() //space before dot
(1).toString()
1.0.toString()
toString()方法返回一个表示对象的字符串。
所以当你打电话时:
a.toString();
你实际上是在操作一个物体。当您定义一个变量(在本例中是一个数字)时,您实际上是在创建一个内置对象。
当你这样做时:
1.toString();
toString()不将1
视为对象或变量(在这种情况下两者都相同),因为它不符合规则:
变量必须以字母开头
这里1
不是以字母开头的。因此toString()
知道它没有对对象进行操作,并抛出一个错误。
尝试更改语法,
(1) .toString()
数字可以有小数,所以当你解析代码时,以小数结尾的语法有点模糊,使用括号是有效的。当你看到这也是有效的时,就更清楚了:
(1.).toString()
然而,只有
1.toString()它试图解析为一个带小数的数字,但失败了。
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 全局变量和全局对象的属性之间有什么区别吗
- 在索引.html和应用.js [node.js] 之间共享变量
- 什么是&&在没有if的行中的变量之间
- 在JavaScript中,如何修复元素显示和变量创建之间的初始差异
- 在Knockoutjs中的ViewModels之间共享变量状态
- 在控制器之间传递变量的最佳方式
- 通过变量在两个数字之间切换
- 在函数之间传递javascript变量
- 在aspx页面c#之间传递/引用/发送变量/会话状态
- 在两个浏览器选项卡之间共享变量范围
- Javascript创建函数,以便在其他函数之间共享变量
- 关于node.js/javascript在文件之间共享变量
- AngularJS:如何在控制器之间传递变量
- 使用 AngularJS 在控制器之间传递变量
- 创建一个变量并在页面之间移动时“存储它”,jQuery
- 在 AngularJS 和非 AngularJS 弹出窗口之间共享变量
- 我需要在jQuery函数和AJAX之间获取一个变量
- 在Ember.js中的方法之间共享变量上下文
- 控制器之间变量名和数据的奇怪行为