0

1 つのファイル (ファイル A) に「var 署名」があるコードがあります。そして、同じファイル A に「Signature.prototype.PreSaveSignature = ..」というメソッドが作成されます。そして、2 つ目のファイル (ファイル B) で、同じメソッドが作成されます "Signature.prototype.PreSaveSignature = .."。

IE8 以下ではファイル B のメソッドを実行しますが、IE9 ではファイル A のメソッドを実行します。プロトタイプを使用して同じ名前のメソッドを 2 つ持つ正当な理由はありますか?

4

1 に答える 1

2

同じプロトタイプに同じ名前の 2 つの異なるメソッドを含めることはできません。最後に定義されたものは、将来作成されるオブジェクトに対して動作します。Signature.prototype.PreSaveSignatureメソッド ポインターのストレージ スロットと考えることができます。保持できる値は 1 つだけで、そのストレージ スロットに最後に割り当てられた値が署名Signature()オブジェクトに使用されます。

異なるブラウザーで異なる動作が発生している場合、それは、あるブラウザーと他のブラウザーで異なるエラーが発生している、または動的に読み込まれる何かで異なるブラウザーで異なる読み込みと実行タイミングが発生していることが原因です。

于 2012-08-31T06:54:20.477 に答える