Цитата:
|
Ты можешь отличить, когда глобал засираетсмя неявно, и когда прогер сам объявляет переменные в глобале?
|
Могу. Ты как раз засираешь неявно.
Цитата:
|
Интересно было бы на твою версию взглянуть.
|
Легко. Но не для тебя.
Так на ES6:
class $ {
constructor(selector) {
if (!(this instanceof $))
return new $(selector);
Object.assign(this, document.querySelectorAll(selector));
}
addClass(className) {
for (let element of Array.from(this)) {
element.classList.add(className);
}
return this;
}
}
Так на ES5:
function $(selector) {
if (!(this instanceof $))
return new $(selector);
var queryResult = document.querySelectorAll(selector);
for (var i = 0; i < queryResult.length; i++) {
this[i] = queryResult[i];
}
this.length = queryResult.length;
}
$.prototype.addClass = function(className) {
for (var i = 0; i < this.length; i++) {
var element = this[i];
if (~element.className.indexOf(className))
continue;
else
element.className += (" " + className);
}
return this;
}