Можете ли вы сделать этот код JavaScript меньше или эффективнее? - PullRequest
0 голосов
/ 08 ноября 2019

Используя чистый ванильный JavaScript, вы можете сделать это меньше? Или еще эффективнее? Это «копия» функции Jquery '$'. Хотя это работает по-другому, вот код:

function $(id,from = document) {
    if(!'#.<'.includes(id.charAt(0))) id = '#' + id;
    if (id.charAt(0) == '<') id = id.charAt(id.length-1) == '>' ? id.substring(1,id.length-1) : id.substring(1,id.length);
    return from.querySelectorAll(id).length == 1 ? from.querySelectorAll(id)[0] : from.querySelectorAll(id).length == 0 ? false : from.querySelectorAll(id);
}

1 Ответ

1 голос
/ 08 ноября 2019

По крайней мере, вы можете извлечь результат from.querySelectorAll(id) в переменную, а не оценивать его несколько раз.

А в другом, как и предположил Бармар, кэшировать результат этого вызова функции где-то вне его. и держи эту функцию простой и глупой (ПОЦЕЛУЙ).

...