javascriptの原型

1560 ワード

1,constructorは、関数の属性ではなく、オブジェクトのインスタンスの属性です.
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/