第59回
今回は、apply()について。
継承に使うらしい
function Main1(){
	var a=function(){
		this.x=0;
	};
	var b=function(){
		a.apply(this);
		this.y=1;
	};
	var c=new b;
	alert(c.x);
	alert(c.y);
	alert(c.constructor);
}
第56回とは違い、constructorがbです(当たり前)。
こういうやり方も通用します(意味なし)。
function Main2(){
	var a=function(){
		this.x=0;
	};
	var c=new a;
	(function(){
		this.y=1;
	}).apply(c);
	alert(c.x);
	alert(c.y);
	alert(c.constructor);
}
第56回のようにしなくても、ちゃんとこういうのが用意されているんですね。
そういえば、コンストラクタに引数を渡すのは邪道だと思うのはなぜでしょうか。
top  戻る