javaScriptの対象は疑いを解きます.

3753 ワード

対象はjavaScriptの基本データタイプです.名前と値のペアのセットです.このような名前と値のペアは属性と呼ばれ、属性名は文字列と呼ばれています.したがって、対象を文字列から値へのマッピングと見なすことができます.このような基本的なデータ構造には多くの呼び方があります.しかし、オブジェクトは文字列から値へのマッピングだけではなく、自由な属性を保持するほか、JavaScriptオブジェクトはプロトタイプと呼ばれるオブジェクトから属性を継承することができます.
 
       オブジェクトには属性が含まれているほか、オブジェクトごとに3つの関連するオブジェクトの特徴があります.
 
1.対象の原型は別のオブジェクトを指し、本オブジェクトの属性はその原型オブジェクトから継承されます.
2.オブジェクトのクラスは、オブジェクトの種類を識別する文字列です.
3.オブジェクトの拡張マークが有名かどうかは、オブジェクトに属性を追加することができます.
 
       以下の用語は三つの種類のJavaScriptオブジェクトと二つの種類の属性を区別するのを手伝っています.
 
1.内蔵オブジェクトはECMAScript仕様で定義されているオブジェクトやクラスです.たとえば、配列、関数、日付です.
2.宿主オブジェクトはJavaScript解釈器が潜入した宿主環境(例えば、ウェブブラウザ)によって定義されています.クライアントJavaScriptでウェブページの構造を示すHTMLElementオブジェクトはすべて宿主オブジェクトです.宿主環境定義の方法は通常のSavaScript関数として使用できますので、宿主オブジェクトも内蔵対象として使用できます.
3.カスタムオブジェクトはオブジェクトに直接定義された属性です.
4.自己属性は直接対象に定義された属性です.
5.継承属性はオブジェクトの原型オブジェクトに定義された属性です.
 
       以下はいくつかの一般的なオブジェクトとオブジェクトの生成です.
1.対象文字列表現:
オブジェクト名={属性名:属性値、属性名:属性値、..}
{ x: 2, y: 1 }          //      
{ "x": 2, "y": 1 }      //       
{ 'x': 2, 'y': 1 }      //       
{ 2: 1, 1: 2}           //      
{ x: 2, status: true, info: { name:"Tom", age:23,student: false} }//       
{ x: 2, say_hello: function(){ console.log( "Hello!" ) } }   //       
//               "    "
2.オブジェクトのnew表現:
    new演算子は新しいオブジェクトを作成して初期化します.キーワードnewの後に関数に従ってここの関数を呼び出します.これを構築関数コンストラクタといいます.新規作成したオブジェクトを初期化します.
var robot = new Object();                       //        robot
robot.name = "Cat";                           //      robot name  ,   
robot.age = 1;                                  
robot.info = {height: 120, weight: 40}              
robot.say_hello = function(){ console.log("Hello!") };
    一つの問題がありますが、皆さんが簡単に理解できるようにしてください.
var player = {
                       code : 2,
                      name : 'Tom',
                     status : 'active',
                      score : [
                                    7,
                                    5,
                                    9,
                                    5
                                  ]
                   }
 どのようにしてplayer属性scoreの内容を[7,5,9,7]に変更することができますか?方法は多様です.player.score[3]=7またはplayer.score=[7,5,9,7]またはplayer.score[3]=player.score[0]