javascript原型の対象

3338 ワード

まず復習してみます.ES 5には何種類のデータがありますか?
  • 5種類の基本データタイプ
  • Udefined
  • Null
  • Boolean
  • Number
  • String
  • 複雑なデータタイプ
  • Object
  • 基本的なデータのタイプを除いて、万物はすべて対象で、これをしっかり覚えるのはとても重要で、これはjs設計の哲学の思想を体現していて、現実的な生活の物事の存在の関係と同じです.
    jsに接触するのも一年余りになりました.様々な概念を見始めたばかりで、記憶に残っています.まず仕事に慣れる感覚も自分にjsを使わせました.振り返ってみると、たくさんの概念があります.プロト.何をしていますか?似ているprototypeは何をしていますか?なぜ一つを使っていないのですか?読んでみたら全部似ています..私はできるだけ自分の思っていることを記録して、表現することができるのがはっきりしています.
    自分の考えを回りくどくさせないで、一つのことを完全に明らかにしたい時、一番関心のある二つの問題をはっきりさせたほうがいいです.それは何ですか?何のために使うか?まず直接にいくつかの定説をあげます.
    何ですか
  • __プロト. 各オブジェクトが持つ属性
  • prototype 各方法が持つ属性
  • 何の役にも立たない
  • は、jsにプロトタイプチェーンを持たせて、データと方法を共有する目的
  • を達成させる.
    まず何を言いますか?では、いくつかのキーワードを考えてみましょう.対象ごとに、方法ごとに、最初に重要なことを覚えていますか?つまり、jsの中の万物は対象です.方法はどんな鬼ですか?間違いなく、方法も対象です.特殊に持ち出さなければならない対象はどこにありますか?そんなに牛は強いです..実は何かを理解するために、方法は対象よりもっと強いです.対象でもあり、方法でもあります....だから?説明の仕方には_もありますプロト.属性にはプロトタイプがあります.例を見て理解を深めることができます.
    var A = function(){}; // A     ,         
    var a = new A(); // a    A      ,      
    
    //           
    console.log(a.__proto__); //object  
    console.log(a.prototype); //undefined,      
    
    //        ,       
    
    console.log(A.__proto__); //function  
    console.log(A.prototype); //object  
    
    ちょっと目眩がしましたか?ハハ私もそうです.焦らないでください.少なくとも私達は何かの定説を検証しました.次の研究で何が使われていますか?実はこの前に気になりませんか?proto_,a.prototype、A._proto_,A.prototypeは、誰に等しいですか?じゃ私達は引き続き検証します.
    console.log(a.__proto__ === A.prototype); //true  
    console.log(a.prototype === undefined); //true
    
    console.log(A.__proto__ === Function.prototype); //true  
    console.log(A.prototype === a.__proto__); //true  
    
    はい、何か分かりますか?はい、少しプロトタイプのチェーンの感じがします.続けます.
    //  a   
    console.log(a.__proto__.__proto__ === A.prototype.__proto__); //true  
    console.log(a.__proto__.__proto__ === Object.prototype);//true  
    console.log(a.__proto__.__proto__.__proto__ === Object.prototype.__proto__);//true  
    console.log(a.__proto__.__proto__.__proto__ === null);//true
    
    
    //   A    
    console.log(A.__proto__.__proto__ === Function.prototype.__proto__);//true  
    console.log(A.__proto__.__proto__ === Object.prototype);//true  
    console.log(A.__proto__.__proto__.__proto__ === Object.prototype.__proto__);//true  
    console.log(A.__proto__.__proto__.__proto__ === null);//true  
    
    二つのチェーンに似ていませんか?それにこの二つのチェーンはちょっと関係があります.頭が大きいです.私もです.図を買いに来ませんか
    ここには二つのものがあります.対象と対象の方法、対象の方法は私がつけた名前です.はは、覚え方も対象です.js万物は対象です.その中の赤色の枠は表示の原型の対象で、ネット上のたくさんの図はそれを持つ対象と一緒に描いて、私は直感的ではないと感じて、自分でかきました.上でまとめたのは何ですか?
    それから私たちはこの絵のいくつかの面白いところを見に来ました.
  • まずaオブジェクトを見て、aオブジェクトは3つの異なる方法で作成されていますが、それらのプロトタイプチェーンの指向は違っています.
  • Functionの_uプロト.自分でFunctionのプロトタイプを指し、Functionのプロトタイプのプロト.Objectのprototypeを指していますが、Objectの_uプロト.Functionのプロトタイプ、what?そうです.図を見て、環状参照が形成されています.だから、なぜ方法も対象なのかを知っています.ないことを見て、万物は最後にObjectを指しました.Objectの原型チェーンは誰を指しましたか?
  • 最後に文章の最初の問題を解決します.プロト.プロトタイプとなぜ二つがありますか?一つではだめですか?図を見たら私達は納得できるかもしれません.
  • __プロト.プロトタイプチェーンです.第三の方式で作成されたオブジェクトとObjectの究極の指向を除いて、プロトタイプ
  • を指します.
  • prototypeはプロトタイプのオブジェクトです.ここに含まれる属性(ユーザの自己追加)は私たちがまとめたものです.共有されたデータと方法を含むオブジェクト
  • です.
  • なぜ二つがありますか?簡単です.二人のすることは違っています.互いに代わってはいけません.プロト.原型を共有する対象へのアクセスを指す文ですが、プロトタイプは訪問された共有原型の対象です.不適切な比喩をして、みんなが同時に右手を他人の肩にかけて一列に並んでいる時、人と人との間の手と人をつなぐことができますか?あまり使わないですが、ここで会ったような気がします.何ですか?はい、チェーンです.
  • 転載先:https://www.cnblogs.com/wangqiangweb/p/6041707.html