Сообщение от рони
|
и ничто не мешает сделать всё за один цикл или десять,
|
1. Время мешает! Вот, проверь в консоли на этой странице...
function qsa(selector, parent) {
return (parent || document).querySelectorAll(selector)
}
function qsf(...e) {
const fn = callback => (NodeList.prototype.forEach.bind(qsa(...e))(callback), fn);
return fn
};
var TIMES = 1000, SELECTOR = "body td";
console.time("Длинное каррирование");
eval("qsf('" + SELECTOR + "')\n" + "(e => e.style.background = '#' + ('000000' + Math.floor(0xffffff * Math.random())).slice(-6))\n".repeat(TIMES) + "\n//# sourceURL=Длинное-каррирование")
console.timeEnd("Длинное каррирование");
console.time("Длинный цикл");
eval("for(const e of document.querySelectorAll('" + SELECTOR + "')) {\n" + "\te.style.background = '#' + ('000000' + Math.floor(0xffffff * Math.random())).slice(-6);\n".repeat(TIMES) + "}\n\n//# sourceURL=Длинный-цикл")
console.timeEnd("Длинный цикл");
console.time("Длинное jQuery");
eval("jQuery('" + SELECTOR + "')\n" + "\t.css('background', '#' + ('000000' + Math.floor(0xffffff * Math.random())).slice(-6))\n".repeat(TIMES) + "\n//# sourceURL=Длинное-jQuery")
console.timeEnd("Длинное jQuery");
2. Стиль кода.
qsf("#a .b")
(e => a)
(e => b)
(e => c)
(e => d)
против
for(const e of $$("#a .b")) {
a;
b;
c;
d;
}
3. Кто опишет этот сложный тип в JSDoc? Visual Studio Code, WebStorm и пр. понимают синтаксис JSDoc, что позволяет использовать автоматическое дополнение, подсказки и ранний анализ кода.