プロトタイプ、__ __プロト、コンストラクタ理解

プロトタイプ:  prototypeプロパティを持つ任意の関数、ターゲットプロパティです通常の状況下でのみ、変数の宣言は、その名前の前にそれに属するのインスタンスを作成するために新しい機能を追加することで機能(自動的に生成)このプロパティのプロトタイプを持っています。これは、ある固有の機能

__proto__:参照型は、プロパティがカスタムプロパティである__proto__、プロパティの値は、それらを追加するための一般的なオブジェクトブラウザです。__proto__コンストラクタそのプロトタイププロパティへの参照タイプ属性ポイント。ユニークなオブジェクトの。

コンストラクタ:コンストラクタは特殊な方法です。(自動機能属性作成述べた機能、JS peototype)関数自体を指すプロトタイププロパティを、生成時に自動的に生成されます。新しいクラスとオブジェクトを作成する場合は、自動的にクラスのコンストラクタを呼び出します。ユニークなオブジェクトの。

 

せFN = 関数(){}
FN2ましょう = 新しい)(FNを

関係図:

 

プロトタイプ

 任意の関数は、prototypeプロパティを持っています

 

 そのクラスのプロトタイプの__proto__オブジェクトポイントを生成します。__proto__変数関数宣言は、プロトタイプ関数を指すプロトタイプオブジェクトへの他のオブジェクト点を__proto__。各プロトタイプは、オブジェクトの関数であり、プロトタイプのObject.prototype __proto__導かれなければなりません。

オブジェクトと特殊機能

関数:

 

 

__proto__と各印刷機能のプロトタイプのコンソールから、あなたは明らかに彼のプロトタイプの機能__proto__ポイントを見ることができます。

オブジェクト:

 

 図のように、__proto__機能ポインティングオブジェクトは、関数プロトタイプのすべてのポイントと同じです。

 

上に示した、とproptotypeのオブジェクト多少異なるとして、あなたはまたのObject.prototypeはすべての源として見る話すことができ、コンソールがnullにオブジェクトの__proto__ポイントをはっきり見ることができ、何のグレー<プロトタイプ>はありません。

 

プロトタイプと呼ばれるソース・タイプのオブジェクト、図のバックステップ、

このソース・タイプを介してすべてのオブジェクト、プロトタイプ関数を作成する最初のステップ作成したので、このプロトタイプは、ソース・タイプに__proto__点であり、このプロトタイプを持つ関数を作成し、それに__proto__点の関数でありますその後、彼らのプロトタイプ、および関数オブジェクト、プロトタイプの__proto__ため、監督機能のオブジェクトを作成します。

 peototypeプロトタイプ、__ proto__ポイントとプロトタイプチェーンと呼ばれる後続のすべてのpeototype。

constructor

对象独有的,它是从一个对象指向一个函数,含义就是指向该对象的构造函数

根据上文逆推的结论:所有函数和对象最终都是由Function构造函数得来,所以constructor属性的终点就是Function这个函数

当一个对象不具备constructor时会沿着__proto__到原型链中去找。

 

总结

 

 

感谢两篇博文,内容主要参考博文:https://blog.csdn.net/cc18868876837/article/details/81211729#4_constructor_20https://blog.csdn.net/backee/article/details/83378772

おすすめ

転載: www.cnblogs.com/bravefuture/p/11265909.html