M.C.P.C.

―むり・くり―プラスコミュニケーション(更新終了)


| トップページ |

2011年11月 2日 23:12

Safari 5.0.5のJavaScriptでプロパティ名やメソッド名にdoを使うとParse errorが出る

このエントリーをはてなブックマークに追加 mixiチェック

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で試したら、問題がありませんでした。それを受けてタイトルを修正しました。

投稿 大野 義貴 [Script] | |

トラックバック(0)

トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/3758

コメントする