背景:我在Knockout工作并实施了custom component loader。具体来说,我正在为依赖注入目的实现loadComponent
和createViewModel
方法。所以基本上,我通过某种约定确定了相应的构造函数,然后使用所需的依赖项在其上调用new
。
我的问题:当我有这个......
function model(arg1, arg2) {
this.foo = arg1;
this.bar = arg2;
}
之间究竟有什么区别:
var instance = new model(arg1, arg2);
和
var instance = {};
model.apply(instance, [arg1, arg2]);
两者似乎都有相同的结果。至于我的具体用例,我想做类似的事情:
var instance = {};
model.apply(new Proxy(instance, handler), [arg1, arg2]);
handler
将翻译的内容如下:
this.foo = 'bar';
成:
this.foo = ko.observable('bar');
..抽象出Knockout的笨重的可观察语法。
new
?