我想为我自己的对象进行设置,女巫可以在追加时识别相同的对象并将它们掉落。
function ImageSet(){
this.set = [];
}
ImageSet.prototype.length = function(){return this.set.length}
ImageSet.prototype.process = function(imgObj){
var is_exist = false;
$.each(this.set, function(i){
if (this.set[i].imgHash == imgObj.imgHash){is_exist = true};
});
if (!is_exist){
this.set[this.set.length + 1] = imgObj;
return true;
}
return undefined;
}
var imagesChoosen = new ImageSet();
因此,当用户单击元素时,我会创建新对象并尝试将其附加到我的 ImageSet 中。在第一次单击对象成功附加到设置,但在第二次单击控制台写入错误
TypeError: this.set is undefined if (this.set[i].imgHash == imgObj.imgHash){is_exist = true};
调用 ImageSet 的代码是:
$('#content_table a').click(function(event){
event.preventDefault();
el = new Image($(this).attr('href'));
if (imagesChoosen.process(el)){
$(this).parent().css("border", "3px dotted orange");
} else {
$(this).parent().css("border", "None");
}
console.log(imagesChoosen.length());
return false;
});
我无法理解。我的 ImageSet 在第一次调用后被破坏了吗?