好吧,这不是一个简单的问题,但在小提琴中你会看到我正在尝试做的事情的简化版本:
我想实例化一个对象,执行初始化它所需的所有操作,但我想要以下语句:
var obj = new class;
在某些条件下将“假”返回给 obj。
无论如何,这是代码:
var cl = function(id){
this.init(id);
if(this.id > 5){
return false;
}
};
cl.prototype = {
init: function(id){
this.id = id;
}
}
var arr = [];
for(i = 0; i < 10; i++){
var obj = new cl(i);
if(obj){
arr.push(obj);
}
}
console.log(arr);
我知道最终结果可以通过为对象创建一个控制属性来实现,但我很好奇是否有任何模式可以做到这一点。