比如一个函数, generate() , 使得下面两个表达式意义相同:
b = new a;
b = generate(a);
比如一个函数, generate() , 使得下面两个表达式意义相同:
b = new a;
b = generate(a);
想做什么
function generate (fn) {
return new fn;
}
.. 这不科学..
这个问题本来就是闲得蛋疼才想出来的
@leizongmin 昨天看 JS 的原型链看得烦来... 我就觉得明明好东西, 直接接口做明显一点不就好了, 搞这么复杂
function generate = (ctor, args){
var o = clone(ctor.prototype)
ctor.apply(o, args)
}
想学会折腾原型链
function generate (ctor){ var o = {}; ctor.call(o); ctor.proto = ctor.prototype;
return o; }
@saber 代码记得要高亮啊....
xx.__proto__
generate = (ctor, arg...)->
o = {}
o.__proto__ = ctor.prototype
ctor.apply o, arg
o
class Dog
constructor:(@name)->
eat:->
console.log "#{@name} is eatting"
generate(Dog, "dogg").eat()