次のJavaScriptコードは、配列とオブジェクトを生成する単純なものですが、WEBブラウザによって振る舞いが変わってきます。
あるWEBブラウザでは期待どおり動作しますが、あるWEBブラウザではエラーになります。その原因は配列要素の末尾にあるカンマです。そのカンマの有無がWEBブラウザの振る舞いの違いになって現れます。
function run() { var foo = [ "bar", ]; alert(foo[0]); var foo = { bar: "baz", }; alert(foo.bar); }
↓次のJavaScriptコードのように、配列要素の末尾にカンマを付けないようにすべし!です。
function run() { var foo = [ "bar" ]; alert(foo[0]); var foo = { bar: "baz" }; alert(foo.bar); }
私は習慣として、PerlやPHPのスクリプトコードを書くとき、末尾にカンマを付けることにしているので、よくよく間違えます。そして、それに気がつかず悩まされます。