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





![: Amazon.co.jp: プラスティック・メモリーズ 1【完全生産限定版】(イベントチケット優先販売申込券付) [Blu-ray]](/lists/_9/B00VWX66E8.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 2【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX66K2.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 3【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX6MV0.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 4【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX66IO.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 5【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX6Y0E.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 6【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX69D6.jpg)

コメントする