1. プロトタイプ オブジェクトのプロトタイプ、注意する必要がある原則は次のとおりです: (1). プロトタイプを使用すると、オブジェクトは多くの属性を継承できるため、各オブジェクトのメモリ要件を大幅に削減できます。
(2). オブジェクトは、オブジェクトの作成後にプロトタイプに追加された場合でも、プロパティを継承できます。
サンプルコード:
3. ローカル オブジェクト、組み込みオブジェクト、ホスト オブジェクト
1. ローカル オブジェクトには、Object、Function、Array、String、Boolean、Number、Date、RegExp、Error、EvalError、RangeError が含まれます。 、ReferenceError、SyntaxError、TypeError、および URIError はすべて ECMA-262 で定義された参照型です。
2. 組み込みオブジェクト: ECMAScript 実装によって提供されるすべてのオブジェクトは、ホスト環境に関係なく、ECMAScript プログラムの実行開始時に表示されます (ECMA-262 定義)。組み込みオブジェクトは Global と Math の 2 つだけです。 、どちらもローカル オブジェクトです。組み込みオブジェクトは、特別な種類のローカル オブジェクトです。
3. ホスト オブジェクト: すべての非ローカル オブジェクトはホスト オブジェクト、つまり ECMAScript によって実装されたホスト環境によって提供されるオブジェクトです。
要するに、ローカル オブジェクトは公式に定義されたオブジェクトです。組み込みオブジェクトはローカル オブジェクトの一種であり、グローバル オブジェクトと Math オブジェクトのみが含まれます。ホスト オブジェクトは正式に定義されていないもので、自分で構築したオブジェクトと DOM および BOM オブジェクトで構成されます。
4. Array.prototype.slice.call(_array,begin[,end]) の使用は _array.slice(begin[,end]) と同等ですが、Array.prototype.slice . 通話の効率は2回目の使用よりもはるかに高くなります。
例:
function p(msg)
{
document.write(msg,'
');
}
p(Array.プロトタイプ.slice.call([1,2,3,4],2));
p([1,2,3,4].slice(2));
実行結果:
3,4
3,4
(注: これらの内容を記録するのは、私自身の知識の蓄積の記録として、将来簡単に参照できるようにするためです。それらの多くはインターネット上のリソースを参照しており、ここでは省略します)出典を一つずつ書いていきますのでご容赦ください。)