js寄生函数

// 寄生函数
function obj(o){
	function Fn(){};
	Fn.prototype = o;    // 把指针转回给自己
	return new Fn();
}
function create(o,oBj){
	var _o = obj(o.prototype);
	_o.constructor = oBj;
	oBj.prototype = _o;
	return _o;
}
function B(name,age){
	this.name = name;
	this.age = age;
}
B.prototype.run = function(){
	return this.name + this.age;
}
function D(name,age){
	B.call(this,name,age);
}
create(B,D);
var box = new D('gaga',236);
console.log(box.constructor)

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。