「10秒で10年日記 逆日記帳」というWEBアプリを開発しています。
そのテスト中に、Javascriptの機種差(というかバグ?)に遭遇しましたので、
ここに記載しておきます。
文字列から整数に変換するparseInt()という関数でテスト機中
Galaxy S3 Progre(AU)だけが おかしな動作をします。
遭遇したのは、桁数をあわせるために左を0で埋めた日付けや時刻をあらわす
文字列から整数に変換する処理でした。
parseInt("09") => 0 (9) parseInt("08") => 0 (8) parseInt("07") => 7 parseInt("06") => 6 parseInt("05") => 5 parseInt("04") => 4 parseInt("03") => 3 parseInt("02") => 2 parseInt("01") => 1 parseInt("00") => 0
のように、08と09のみがうまく変換できません。
で対処方法はというと、
parseInt("09",10) => 9 parseInt("08",10) => 8
のように、(省略できる)進数のパラメータを明示するだけの簡単なものでした。
こうしたことに対処しようと省略パラメータを明示するのも手ですが、そういうものは
膨大に存在するので、大変になりますね。
テスト機のChromeのバージョン:18.0.1025308
以上です。