次のコードは Firefox では正しく動作しますが、Chrome では動作しませんか? 7 行目のエラー (this.update() が見つからない) を防ぐために 15 行目をコメントアウトすると、コードは引き続き適切に実行されます。最初の定義セットが最初のものと異なる理由がわかりません。
if (typeof RegionUpdater == "undefined") {
function RegionUpdater(param1, param2, param3) {
this.paramA = param1;
this.paramB = param2;
this.paramC = param3;
this.update();
}
RegionUpdater.prototype.update = function() {
alert("hi there");
};
}
var ru = new RegionUpdater("1", 2, "3");
function LolUpdater(param1, param2, param3) {
this.paramA = param1;
this.paramB = param2;
this.paramC = param3;
this.update();
}
LolUpdater.prototype.update = function() {
alert("hi there");
};
var lu = new LolUpdater(1, 2, 3);
ここに jsfiddle のセットアップがあります: http://jsfiddle.net/XhbZ8/2/
編集: 私が思いついた唯一のアイデアは、Chrome である種の投機的な実行が行われているということですが、IE8 でも同じ問題が発生するという事実は、それが事実であると信じたくありません。