まず、オブジェクトがGeshaです
オブジェクトには、JavaScriptの基本的なデータ型です。複合オブジェクトの値である:それは多くの値(元の値または他のオブジェクト)は、これらの値は、名前によってアクセスすることができる、一緒に集約しました。文字列、数値、偽、真、nullとundefinedに加えて、値がJavaScriptのオブジェクトです。
まず、オブジェクトが(元の値は不変です)変数であり、その価値は平等のための2つのオブジェクトを比較する方法を変更することができますか?2つのオブジェクトが同じ属性と属性値が含まれている場合でも、彼らは同じではありません。インデックスの各要素は、正確に二つの配列は等しくない等しいです。次のコードを考えてみましょう
VARまたは= [1,2,3ずっと]。 VAR = B [1,2,3ずっと]。 console.log(又は B ==) // 偽 VAR「AA = []; VAR BB = []; console.log(「AA == BB)// falseをインクルード
我々一般オブジェクト参照型と呼ばれ、JavaScriptの領域を区別するために、基本データ型、用語が呼び出されるによれば、物体が基準値であり、比較基準とを比較する対象である; それらは同じを参照する場合にのみ、場合場合、グループオブジェクト、それらが等しいです。以下のコードを考えてみましょう
VaRの AAA = []; VAR BBB = AAA; BBB [ 0] = 1 ; console.log(AAA)// [1] はconsole.log(AAA === BBB)// 真
オブジェクトまたは配列のコピーを取得する(ただし、コピーオブジェクトがコピーされたオブジェクトまたは配列を変更することで変更する必要はありません)どのように、各要素は、各属性配列または明示的なレプリケーションオブジェクトは、次のコードを考慮する必要があります
VaRの ES = [ '、 'B'、 'C' ]。 VaRの EA = []; ため(VAR iが= 0; I <a.length; I ++ ){ EA [I] = ES [I] } にconsole.log(EA)。// [ ""、 "B"、 "C"] 、EA [0] = 'Q' 。 console.log(EA)。// [ "Q"、 "B"、 "C"] はconsole.log(ES)。// [ ""、 "B"、 "C"]
最も一般的な用途は、オブジェクト、設定を作成、検索、削除、検出し、そのプロパティを列挙することです。属性は、 'と呼ばれる名前と値、および各属性のためのいくつかの関連する値に加えて、 『属性のプロパティ』、名前と値を含めます
- 書き込み可能、あなたがプロパティの値を設定することが可能かどうかを示します。
- 列挙、プロパティは/ためにより循環で返されているかどうかを示します。
- あなたがこのプロパティを削除または修正することができるかどうかを示すように設定することができます。
javascriptオブジェクトの種類とプロパティの次の三つのカテゴリーを区別するために使用される用語:
- 組み込みオブジェクト:ECMAScript仕様は、オブジェクトまたはクラスを定義します。例えば、配列、関数、日付と正規表現は、内蔵されているオブジェクト。
- ホストオブジェクト:JavaScriptのインタプリタは、定義されたホスト環境を埋め込まれています。
- カスタムオブジェクト:オブジェクトは、JavaScriptコードの操作によって作成されます。
- 独自のプロパティ:オブジェクトのプロパティに直接定義されています。
- 継承プロパティは:オブジェクトのプロトタイプオブジェクトの属性で定義されています。
第二には、オブジェクトを作成します
あなたがすることができ、直接金額をターゲット、キーワード新しいとobject.create()関数をオブジェクトを作成します。
図1に示すように、直接オブジェクトの量
使用目的は直接、次の例を参照してください、オブジェクトを作成する最も簡単な方法を達します。
VAR空= {}; VaRの点= {X 1、Y:2}。
2、で新しいオブジェクトを作成
新しいオブジェクトを作成し、初期化するnew演算子。新しい機能を持つキーワードのコールバック。コンストラクタ関数は、ここに新しいオブジェクトの初期化を作成するためのコンストラクタを呼ばれています。次の例を考えてみます。
VAR O = 新しい新しいオブジェクト(); // 空のオブジェクトを作成し、そしてなどの{} のvar A = 新たな新しいアレイ(); //は空の配列を作成し、[]と するvar D = 新しい新 A日付(); //が作成Dateオブジェクトの現在の時間 のvar R&LT = 新しい新しい正規表現( "JS"); // RegExpオブジェクトを作成します。
3、プロトタイプ
少しによって中断、マップを挿入し、ここに入力するのが面倒、プロトタイプについて話をします
4、Object.create()
最初のパラメータは、このオブジェクトのプロトタイプであるObject.create()。Object.create()さらに説明(及びその後第2のパラメータの使用状況を追加)対象物の特性のために第二のオプションのパラメータを提供し、Object.create()は静的関数で、次のコードを参照します。
VAR O1 = Object.create({X :. 1、Y:2}); // xとyのO1継承を特性
あなたは、通常の空のオブジェクトを作成することができます
VAR O3 = Object.create(のObject.prototype)// O3と{}と新しいオブジェクトの前に()として
5、属性クエリとセット
例を見てみましょう。
VaRのブック= { anthor: 'AAA' 、 名 'BBB' 、 }。 console.log(book.anthor)// AAA はconsole.log(書籍[ "名前"])// BBB
値および設定は、プロパティのドット(。)または括弧([])オペレータによって取得してもよいです。しかし、最初に、留意すべき2点[]括弧内の式は、文字列を返す必要があります。第二に、算術演算子識別子はキーワードにすることはできません。
6、継承
追加します -
7、プロパティへのアクセスエラー
まず、クエリ存在しないプロパティが与えられていない、undefind戻ります。
オブジェクト自体が存在しない場合、その後、あなたが存在しないプロパティの上のオブジェクトにアクセスしようとする場合は、2番目のは、それは確かにエラーになります。
第三に、設定するプロパティはnullとundefinedエラーになります
第四には、いくつかのオブジェクトがプロパティを追加することができ、人々悪いことに、これらの障害は、実際に動作していないエラーされていないがある、いくつかのプロパティは読み取り専用であり、再割り当てすることはできませんがあります。
〜継続するには