Firefox でデバッグして作っていたJavaScirpt の部分が
Chrome でエラーを起こしました。
PHP を使っている者が、
JavaScript でついうっかり出しちゃうだろうエラー
を見つけました。
それは
FireFox だけ uncaught syntaxerror unexpected token =
なのですが、これは 「=」 がダメということなので、
調べたメモになります。
どうも、FireFox はPHP の様に、
関数の引数の宣言で、引数が無い場合に初期化の書き方ができるみたいです。
それが動いているかどうかは確かめませんでしたが、
他のブラウザではその書き方を許さないのが分かっているので、
この書き方はFirefox のイレギュラー扱いした方が良さそうです。
その書き方は
function xxx(a, b=null){
}
と関数の引数の宣言で、引数がなかった場合に自動で初期化するつもりで
「=」を使ってはいけないということです。
なので
function xxx(a,b){
}
に直すのが一番無難そうでした。
今後、JavaScirpt のバージョンとかが上がって、
変わるかどうかは分かりませんが、
PHP とJavaScirpt の両方を同時に使ってサイトを
作っていると、ヒューマンエラーでやらかしそうです。
一応、個人的なメモでした<_ _>
--- 追伸です! ---
IEでも同様に 関数の引数で初期化の書き方は出来ず、
スクリプトが動かない状況になります。
なんでやはりFirefox 特有な状態になっているのだと思います、
繰り返しますが、本当にPHPと同様で、
値が無い時に初期化しているかどうかまで確かめていませんので、
もしもFirefox で関数の引数で「=」のつく書き方をするのであれば、
お気をつけ下さい^^
コメント一覧