1

プロトタイプを使用してオブジェクトを作成し、コンストラクターでフィールドを設定するか、JSON を使用してオブジェクトを作成できます。プロトタイプ版はリテラルと同じかそれ以上の速度になると思いますが、chrome と ff では遅く、Opera ではどちらも同じように見えます。

http://jsperf.com/object-literal-vs-object-prototype-field-access-time

誰かがそれを説明できますか?

4

1 に答える 1

3

私の知る限り、プロトタイプへのアクセスは、基本的に 2 つの通常のアクセスだけです (プロトタイプへのアクセスが高度に最適化されていることを除く)。書くthis.testことは基本的に書くことと同じです

if(this.hasOwnProperty('test')) { return test; }
else { return this.constructor.prototype['test']; }

ただし、これについて 100% 確信があるわけではありません。

于 2012-09-24T13:30:27.750 に答える