使用数字启动类或方法名称,为什么不呢?

Bob*_*ich 2 javascript

我最近在javascript文件中快速缩短了一些方法名称,并在转换一个方法名称时遇到了问题:

之前:

RefreshSevenDayGrid(){
   // some stuff
}
Run Code Online (Sandbox Code Playgroud)

后:

7Day() {    
    // some stuff
}
Run Code Online (Sandbox Code Playgroud)

我很快发现javascript不再有效.我从几个人那里听说,数字永远不应该用于方法或类名.这有例外吗?

Jef*_*tin 7

它往往会导致语言解析器的适合.它看到一个前导数字,所以期望开始读取一个数字文字,然后看到一个字母时barfs.甚至代数约定是字母左边的数字是单独的数字文字,省略了空格,因此7x将被视为两个标记.


Jas*_*n S 6

除了Jeffrey Hantin所说的,还有数字常量,如

3e7  // 3x10^7
40L  // C, C++, etc for a long integer
0x88 // hexadecimal
Run Code Online (Sandbox Code Playgroud)

在大多数语言中广泛使用的标识符的一般约定是[S except for 0-9][S]*S是一些有效字符集(AZ,az,0-9,有时是_,$或 - ) - 所以第一个字符不能是数字,但其余的可以.