代码之家  ›  专栏  ›  技术社区  ›  Bobby Borszich

以数字开始类或方法名,为什么不呢?

  •  2
  • Bobby Borszich  · 技术社区  · 17 年前

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

    之前:

    RefreshSevenDayGrid(){
        // some stuff
    }
    

    之后:

    7Day() {    
        // some stuff
    }
    

    我很快发现javascript不再有效。我听几个人说过,方法或类名永远不能用数字。这有例外吗?

    2 回复  |  直到 5 年前
        1
  •  7
  •   Jeffrey Hantin    17 年前

    它往往会引起语言分析器的不适。它看到一个前导数字,所以希望开始读取一个数字文字,然后在看到一个字母时呕吐。即使是代数约定,字母左边的数字也是一个单独的数字文字,省略空格,因此 7x 将被视为两种象征。

        2
  •  6
  •   Jason S    17 年前

    除了Jeffrey Hantin所说的,还有一些数值常量,比如

    3e7  // 3x10^7
    40L  // C, C++, etc for a long integer
    0x88 // hexadecimal
    

    [S except for 0-9][S]* 其中,S是一组有效字符(A-Z、A-Z、0-9,有时为u、$或-),因此第一个字符不能是数字,但其余字符可以。