javascriptの原型
1560 ワード
1,constructorは、関数の属性ではなく、オブジェクトのインスタンスの属性です.
2,prototypeはインスタンスの属性ではなく関数の属性です.prototypeは対象です.
各関数にはプロトタイプがあります.このプロトタイプはオブジェクトで、オブジェクトの中にはコントロール属性が含まれています.
3,各インスタンスオブジェクトにはconstructor属性があり、コンストラクタを指します.また、newごとに出てくる例は、ある原型のconstructorの例です.
4,javascriptの中の対象はどうやって方法を見つけましたか?まずは自分の相手に探してみます.例がないなら、自分の原型の相手に探しに行きます.
プロトタイプのチェーンをたどって、父のプロトタイプの中で探します.Objectオブジェクトに再帰します.まだ見つかっていないなら、間違えます.属性を探すのも同じです.
2,prototypeはインスタンスの属性ではなく関数の属性です.prototypeは対象です.
各関数にはプロトタイプがあります.このプロトタイプはオブジェクトで、オブジェクトの中にはコントロール属性が含まれています.
3,各インスタンスオブジェクトにはconstructor属性があり、コンストラクタを指します.また、newごとに出てくる例は、ある原型のconstructorの例です.
4,javascriptの中の対象はどうやって方法を見つけましたか?まずは自分の相手に探してみます.例がないなら、自分の原型の相手に探しに行きます.
プロトタイプのチェーンをたどって、父のプロトタイプの中で探します.Objectオブジェクトに再帰します.まだ見つかっていないなら、間違えます.属性を探すのも同じです.
function Gizmo(id){
this.id = id ;
this.ask = function()
{
alert("gizmo--ask:"+this.id);
}
function privateMethod()
{
return "gizmo--privateMethod";
}
privateMethod2 = function ()
{
return "gizmo--privateMethod2";
}
}
Gizmo.prototype.toString = function ()
{
return "gizmo--toString:"+this.id;
};
Gizmo.prototype.id="gizmo3";
function Hoozit(id)
{
this.id = id;
}
Hoozit.prototype = new Gizmo("Gizmo1");
var g = new Gizmo("Gizmo2");
var h = new Hoozit("hoozit");
/*
h.ask = function()
{
alert("h.ask");
}
h.ask();
delete h.ask;
h.ask();
delete h.id;
h.ask();
delete Hoozit.prototype.id ;
h.ask();
*/
http://www.cnblogs.com/cloudgamer/