2

私は最近、JavaScript ファイル内のいくつかのメソッド名をすばやく短縮していましたが、1 つのメソッド名を変換したときに問題が発生しました。

前:

RefreshSevenDayGrid(){
    // some stuff
}

後:

7Day() {    
    // some stuff
}

javascriptが機能しなくなったことをすぐに発見しました。メソッド名やクラス名に数字を使ってはいけないと何人かから聞きました。これに例外はありますか?

4

2 に答える 2

7

言語パーサーに適合する傾向があります。先頭の数字を認識し、数値リテラルの読み取りを開始し、文字を検出すると barfs を開始することを期待します。代数の慣例でさえ、文字の左側の数字はスペースが省略された別の数値リテラルであるため、7xは 2 つのトークンと見なされます。

于 2009-01-22T21:56:57.040 に答える
6

Jeffrey Hantin が言ったこと以外に、次のような数値定数があります。

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

ほとんどの言語で広く使用されている識別子の一般的な規則は[S except for 0-9][S]*、S が有効な文字 (A ~ Z、az、0 ~ 9、場合によっては _、$、または -) のセットであるため、最初の文字を数字ですが、残りはできます。

于 2009-01-22T22:16:41.120 に答える