为什么变量不能以数字开头但可以以数字结尾?

时间:2014-02-11 15:26:12

标签: string variables numbers declaration

在许多语言(C#,Javascript,CSS等)中,我无法声明此变量:

123test

但我可以声明:

test123

它的真正原因是什么?

2 个答案:

答案 0 :(得分:2)

因为那时一串数字将是有效的标识符以及有效的数字。

int 17 = 497;
int 42 = 6 * 9;
String 1111 = "Totally text";

@skiphoppy 的衣服。

更多信息:Why can't variable names start with numbers?

答案 1 :(得分:2)

它简化了解析器。它可以从令牌中的第一个字符判断它是标识符还是数字。

此外,浮点的语法可能如下所示:

123e45

这意味着123x10 45 。如果标识符可以以数字开头,则可能会将其与变量混淆。

有些语言没有这种禁止,例如Common Lisp。它的规则基本上是令牌是符号,除非它可以被解析为数字。由于它还允许自定义输入基数,因此它具有以下属性:令牌是数字还是符号取决于变量的设置(它还具有允许您以某种方式强制它的转义机制)。