Kendi JavaScript bağlama yöntemimi yazıyorum (uygulama için) ve tek bir nesneyi farklı nesnelerle veya birden çok nesneyle ele alma zorunluluğundan vazgeçiyorum Bu yöntemde, sadece birinden büyük bir uzunluğa sahip nesneler arasında döngü yapmam gerektiğinden. (bkz. obj vs obj [aşağıdaki tabloya bakınız]Yeniden hesaplama olmadan bir yöntemde bir ve daha büyük olan nesneler nasıl işlenir
Bu bağlama yöntemini daha az gereksiz hissettirmenin bir yolu var mı? Sen bir dizi içerisine zorlayabilir
var foo = (function() {
return {
bind: function (obj, type, handler, delegate) {
var delegate = delegate || false,
len = obj.length;
if (typeof obj == 'undefined') {
return false;
}
if (len > 1) {
for (var i = 0; i < len; i++) {
if (obj.addEventListener) {
obj[i].addEventListener(type, handler, delegate); // false: bubble (^). true: capture (v).
} else if (obj.attachEvent) {
obj[i].attachEvent('on' + type, handler);
} else {
obj[i]['on' + type] = handler;
}
}
} else {
if (obj.addEventListener) {
obj.addEventListener(type, handler, delegate); // false: bubble (^). true: capture (v).
} else if (obj.attachEvent) {
obj.attachEvent('on' + type, handler);
} else {
obj['on' + type] = handler;
}
}
}
}
})();
Kodunuz. – SLaks
Özgün nesneyi, varsa uzun bir nesneyi döndürmek için getElementByClass() yöntemlerini kurmuştum. Bunu düşünmeye başlamak şimdi aptalca bir fikirdi. Bunu yapmak, sizden bahsettiğiniz bu kontrolü yürütmek için gerekli olan ihtiyacı yarattı. – tester