您能使这个JavaScript代码更小或更高效吗?
使用纯香草JavaScript,您可以将其缩小吗?或者更有效? 它是Jquery的“$”函数的“副本”。虽然工作原理不同,但代码如下:您能使这个JavaScript代码更小或更高效吗?,javascript,performance,coding-efficiency,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.len
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);
}
function$(id,from=document){
如果(!'#.至少可以将的结果从.querySelectorAll(id)
提取到变量中,而不是多次计算它
在另一个例子中,正如Barmar所建议的,将这个函数调用的结果缓存在它之外的某个地方,并保持这个函数简单而愚蠢(KISS).与其尝试优化此函数,不如对调用者进行处理,让他们缓存函数的结果,而不是不必要地调用它。这不是我投票将此问题作为主题外的问题结束,因为它属于codereview.stackexchange.com