Safari 5.0.5のJavaScriptでプロパティ名やメソッド名にdoを使うとParse errorが出る
スポンサードリンク
var Hoge = function() {}; Hoge.prototype = { hoge: function() { }, do: function() { alert('do!'); } }; var fuga = new Hoge; fuga.do();
ていうコードをFirefoxで動かすと通るが、Windows版Safari 5.0.5で動かすと、「Syntax Error: Parse error」が出る。
doを、dodoとかに書き換えると、エラーはなくなる。
メソッド名じゃなくてプロパティ名としてならどうなのかーと思って、
var Hoge = function() {}; Hoge.prototype = { hoge: function() { alert(this.do); }, do: 1 }; var fuga = new Hoge; fuga.hoge();
とやると、やっぱりSafariだとだめ。
いっそのこと、
var Hoge = {}; Hoge.do = 1;
というのはどうだ、と思ったらこれすらだめ。
Safariだと、doって予約されているのかな?
(2011-11-02 23:31追記)
Mac版Safari 5.0.6と、Windows版Safari 5.1.1で試したら、問題がありませんでした。それを受けてタイトルを修正しました。
スポンサードリンク
トラックバック(0)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/3758
コメントする