您可以使此JavaScript代码更小或更有效吗?

时间:2019-11-08 00:38:36

标签: javascript performance coding-efficiency

使用纯香草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 个答案:

答案 0 :(得分:1)

至少您可以将from.querySelectorAll(id)的结果提取到变量中,而不是多次求值。

另外,正如Barmar所建议的那样,将该函数调用的结果缓存在其中的某个地方,并使该函数既简单又愚蠢(KISS)。