JS学習-プロトタイプチェーンの理解
2742 ワード
まず、構造関数を作成し、二つの例を作成します.
実例によって原型を修正する
function shirt(){
this.name="";
this.age="";
this.height="";
this.weight="";
}
var shirt1=new shirt();
var shirt2=new shirt();
shirt.prototypeのどの関数にもこの属性がありますが、関数だけがクラスとして使用されている場合にのみ意味があり、すべての共有方法をこの属性に保存します.この属性は明らかにオブジェクト型です.原型は共有雲として分かりやすく、その後定義された事例はすべてアクセスでき、修正もできると思います.例の検索は優先順位があります.まず自分の中で検索します.見つけられないなら共有に行って検索します. shirt.prototype.fn=function(){console.log("xxx");};
console.log(shirt1.fn)
shirt 1にはfn属性は存在しませんが、プロトタイプに存在しますので、検索できます.shirt 1.fnは、shirt 2.fnおよびshirt.fnと同じです.実例によって原型を修正する
shirt.prototype.a=[1,2,3];
shirt1.a=1;
console.log(shirt2.a);
console.log(shirt1.a);
この時のプリント結果は[1,2,3]と1 shirt 1.aは自分自身に属性aを書き込んでいます.検索には関わりませんので、原型のaは変わりません.shirt1.a[1]=12;
console.log(shirt2.a);
console.log(shirt1.a);
今回の検索に関しては、aを探してaの中の索引が1の内容であることから、訪問したのは原型中のaで、原型中のaはポップアップ[1,12,3]と[1,12,3]を変えました.