[オブジェクト指向]方言バージョン(4)------ [個]

1、コンストラクタ

コードをコピー
、コンストラクタは何ですか?
     説明:関数はコンストラクタと呼ばれる新しいキーワード作成
     機能:オブジェクトを作成するため

のコードの上にさらに騒ぎが直接せずに、我々は最初のコンストラクタの人間を作成します

 

その後、我々は2つのインスタンス、世俗的なダニエルを作成します!結局のところ、唯一の2人は、私たちは、円の値を一致させることができます
 
  
 

 

 

 私たちは、日常的な和彦先祖のプロパティは、名前と食べるための方法を持って見ることができます。私たちは、単に平凡な和彦の祖先が、その後、彼ら二人は法を食べて、コンストラクタ新しい人のうち、作成された約等しいされていると思いますか?

 

印刷結果が偽である。なぜ偽のですか?今回は、古典的な顔の質問を言っています!
 
どのアクションコンストラクタのJSを作成する場合は?
1は、メモリ内のスペースを開け
2、現在のオブジェクトにこの点を置きます
 
アドレスと等しい、との点ではないが、同じではありません、あなたはまだ彼らは同じことを行うことを期待する理由は、このインタビューの質問を通じて、あなたは想像できますか?あなたは一般的なアプローチを持っていることを、我々はまた、ユーザーフレンドリーな栗を与えることができます理解し、あなたが子供を持っていると仮定して、ファラオの隣にない場合は、「子供たちを教育するために、」あなたはあなたの隣のドアを想像することができますし、ファラオの子供たちはしていません一緒に、2つの教育方法は、同じ名前が、しかし、あなたファラオ教育を受けた子供たちに数えることができるとあなたの子供はまったく同じで教育することができますか?、いない素朴な子を行うのと同じような場合には、この世界は忠孝がリムに落ちていません
 
そこで問題は、どのように我々はそれらを作ることができる2つの方法がそれ等しいのですか?それはそれらすべてが同じメソッドを呼び出すようにする方法で、結局、毎回もったいないメモリの異なるメソッドを呼び出します!
 
 
 
我々は、我々は、彼らがこの関数を呼び出す実行アドレスのこの方法を行うために、このメソッドのオブジェクトを書き出しますができますか?

 

 

それはあなたができるようになります!複数の方法がある場合はどのように行うには時間があれば?私は外でより困難グローバル関数を定義する必要がありますか?結局のところ、我々はグローバル変数とグローバル関数を最小化することで、最初は、変数名の衝突を防ぐためです提唱します。第二は、初心者のための第三の語彙のためであるが、汚染変数を防止します
 
何も完璧な解決策があることはそんなに難しいですか?
那下面就不得不说下我们伟大的原型prototype
コードをコピー

 

2、原型prototype

コードをコピー
1、什么是prototype?
     a、prototype是每一个函数自带的一个属性
     b、prototype属性指向一个对象,简称原型。所有prototype称为原型

2、原型有什么作用?
     1、节约内存

     2、扩展属性和方法

     3、可以实现类的继承

3、接下来我们创建2个函数,来查看函数里面是否有prototype这个属性

从以上例子中我们可以更加肯定每一个函数都有一个prototype属性而这个属性指向一个object。如果prototype指向一个对象的话那么我们自然就可以给它添加属性和方法了

 

4、如何在prototype原型上面添加属性和方法?

 

 

5、因为这个方法是在构造函数Person的原型上添加的,因此当每次实例化一个对象的时候,每个对象都有这样一个方法,而且都是调用的同一个方法

 

 6、那么接下来我们看下我们加在原型上面的这个方法在这个实例化对象的哪里放着。

我们可以清晰的看到我们实例化出来的对象,这个eat方法在__proto__里面放着,而这个__proto__同样也指向了一个对象。那么我们就不得不思考下构造函数的prototype与实例化对象里面的__proto__是否是同一个东西

 

7、构造函数的prototype与实例化__proto__之间的关系

不比较不知道,一比较吓一跳。他们不仅发现里面的东西相同,而且判断结果也相同。而且你会发现你通过原型prototype添加的方法在__proto__里面也会出现。换句话说也就是__proto__可以访问prototype里面的所有属性和方法

コードをコピー

 3、prototype--->__proto__---->实例化对象三者之间的关系

コードをコピー
1、プロトタイプの概要

     説明は:それぞれの関数は、このプロパティのプロトタイプ、およびオブジェクトにこのプロパティを持って、我々は言及プロトタイプ
     
     効果:
          1、保存メモリ

          2、属性やメソッドの拡張

          実装して継承されたクラスの間、3 

2を、__ proto_ _要約
     1、すべてのオブジェクトは、プロパティ__proto__ている

     コンストラクタ自身のプロトタイプを作成するには2、__proto__ポイント

     3を、物体が__proto__の内側にそのプロパティとメソッドを直接アクセスすることができます

3、コンストラクタの概要
     コンストラクタポイント独自に作成するにはコンストラクタことを


我々は3との間の関係について話しています。

我々はコンストラクタを作成すると、コンストラクタは、prototypeプロパティが付属しており、この属性は、プロトタイプオブジェクトであるオブジェクト、を指すとき。コンストラクタコンストラクタ内部のプロトタイプオブジェクトは、その役割は、独自のコンストラクタを作成するために指すようです。また、プロトタイプはまた、パブリックプロパティとメソッドを保存することができます。オブジェクトは、__proto__プロパティが付属していたとき、我々はオブジェクトをインスタンス化する場合、この__proto__ポイントは、独自のプロトタイプオブジェクトのコンストラクタを作成します。これは、プロトタイプオブジェクトのプロパティとメソッド内で使用することができます。それでは、私たちは栗やメモリを表現するために、グラフを使用します

 

 
コードをコピー

おすすめ

転載: www.cnblogs.com/fanzenghui/p/11286718.html