JavaScriptの対象

3401 ワード

をクリックして自分のgithubアドレスのcodingplayboyをジャンプします.
従来のオブジェクト指向言語には共通のマークがあります.クラスの概念は、クラスを通して、同じ属性と方法を持つ任意のオブジェクトを作成することができます.JavaScriptには類の概念がなく、対象と伝統的な対象言語は違っています.
ダイナミックタイプと静的タイプ
静态とは何か?プログラミング言語はデータタイプによって大きく2種類に分けられます.動的タイプ言語、静的タイプ言語.
静的タイプの言語はコンパイル時に変数のタイプを決定しましたが、動的タイプの言語の変数タイプはプログラム実行時に変数が割り当てられてから、ある種類のタイプがあります.
典型的な静的なタイプの言語はJava、C啝などがありますが、JavaScriptでは、変数に値を割り当てるとき、そのタイプを判断する必要はありません.明らかに典型的な動的タイプの言語です.
JavaScriptオブジェクトとプロトタイプチェーン
オブジェクト
オブジェクトと最も密接に関係しているのはもちろん、JavaScriptの中には5つの簡単なデータタイプ(ベースデータタイプとも呼ばれる)と複雑なデータタイプがあります.単純なデータタイプは、数字、文字列、ブール値(trueおよびfalse)、null、undefined値を含みます.複雑なデータタイプはObjectです.JavaScriptには単純なデータタイプの値を除いて、他のすべての値が対象です.
JavaScript変数の基本タイプ値と参照タイプ値
JavaScript変数は、2つの異なるデータタイプの値を含むことができます.基本データタイプの値と参照タイプの値です.一つの値を変数に割り当てると、この値のタイプを解析器が判断します.
基本タイプの値は単純なデータセグメントを指し、値によってアクセスし、変数に保存されている実際の値を操作できます.参照タイプの値は、複数の値から構成される可能性のあるオブジェクトを指し、参照タイプの一例であり、参照によってアクセスされる.
  • 基本タイプは、前述のように5つを含む.
  • は、オブジェクトの属性および方法を説明するために、タイプのデータ構造を参照する.
  • 注:参照の種類と参照の種類が異なります.
    JavaScript引用タイプは主にObject、Aray、Date、RegExp、Functおよび基本タイプ値を操作するために提供される3つの特別参照タイプを含む.Boolean、Number、およびString.JavaScriptにおけるオブジェクトは、ある種の引用タイプの例であり、我々が使用するほとんどの引用タイプの値はまたObjectタイプの例であると言える.
    JavaScript作成対象
    多くの伝統的な対象言語とは異なり、JavaScriptは原型に基づくオブジェクトを使用しています.
  • オブジェクトの字面量の1つのオブジェクトの字面量は、ペアの括弧の中の0または複数の名前のペアです.
  • ObjectコンストラクタはObjectコンストラクタを呼び出し、new Object()形式を使ってオブジェクトを作成することができます.Object.create()方式でオブジェクトを作成するのも一般的です.
  • JavaScript継承
    継承(Object Orient)は従来、対象言語に対して最も顕著な特徴の一つであり、Javaなどの伝統的なOO言語はすべてクラスの継承をサポートしているが、JavaScriptには類の概念がなく、主にプロトタイプチェーンによって継承されている.
    プロトタイプチェーンに基づく委託メカニズムはプロトタイプ継承の本質であり、基本思想はプロトタイプを利用して、もう一つの引用タイプの属性と方法を継承させることである.
    原型
    オブジェクトのプロトタイプは、JavaScriptが本当に実現したとしても、オブジェクトはプロトタイプではなく、オブジェクトのコンストラクタとプロトタイプです.「相手が依頼を自分の原型に委託する」というのは、依頼をそのコンストラクタの原型に委ねるということです.JavaScript対象の_uプロト.属性はデフォルトでそのコンストラクタの原型オブジェクトを指します.
        var a = new Object();
        console.log(a.__proto__ === Object.prototype);  //true
    
    構造関数、プロトタイプとインスタンス
    各構造関数にはプロトタイプのオブジェクトがあり、プロトタイプのオブジェクトはいずれも構造関数へのポインタを含み、構造関数の例はプロトタイプオブジェクトへの内部ポインタを含んでいます.JavaScriptのすべてのオブジェクトは、デフォルトでルートオブジェクトObjectから継承されます.
    プロトタイプオブジェクトには別のタイプの例が割り当てられています.プロトタイプオブジェクトには別のプロトタイプのオブジェクトを指すポインタが含まれています.他のプロトタイプオブジェクトにはその対応する構造関数を指すポインタも含まれています.このようにプロトタイプとインスタンスの関係チェーン、すなわちプロトタイプチェーンが構成されます.これにより、異なるオブジェクト間の属性と方法の継承が可能になります.
  • デフォルトのプロトタイプはすべてObjectを継承しており、すべての関数のデフォルトプロトタイプはObjectのインスタンスであり、前述のように、構文関数の例はプロトタイプオブジェクトに向けられた内部ポインタを含んでいるので、デフォルトのプロトタイプはすべてObject.prototype(Objectプロトタイプ)を指す内部ポインタを含んでいる.
  •     function Animal() {
            this.property = 'Animal';
        }
        Animal.prototype.getAnimalProperty = function() {
            return this.property;
        }
        function Dog() {  
            this.dogproperty = 'Dog';
        }
        Dog.prototype = new Animal();//   Animal
        Dog.prottotype.getDogProperty = function() {
            return this. dogproperty; 
        }
        var dog = new Dog();
        alert(dog.getDogProperty);
        alert(dog.getAnimalProperty);
    
    締め括りをつける
  • オブジェクトのルートオブジェクトJavaScriptオブジェクトは、ルートオブジェクトObjectから派生しています.
  • オブジェクトは、クローン定義の対象から来ており、インスタンスクラスではなく他のオブジェクトをプロトタイプとしてクローン化している.
  • オブジェクトの記憶性要求は、プロトタイプチェーンの中でこれに従って後に渡すことができます.各オブジェクトは自分のプロトタイプを覚えています.詳しくは、上記のオブジェクトのプロトタイプについて述べた_u_u u u u u u u u uプロト.を選択します
  • オブジェクトが伝達性を要求するが、現在のオブジェクトが現在の要求に応答できない場合、それをそのアーキテクチャプロトタイプに委託する.