缩短Javascript函数的名称

缩短Javascript函数的名称,javascript,function,Javascript,Function,我正在编写一个SE用户脚本,它是我用Vanilla JS编写的。它主要通过DOM操作工作,因此我经常使用document.getElementById和document.querySelector以及其他类似的函数。这些函数工作得很好,但它们很长,即使我有制表符完成,我还是希望缩短写出这些函数所需的时间。我曾想过使用另一个名称较短的函数来替换这些较长的函数。要替换document.getElementById,我需要一个函数名byId,它将接受一个Id字符串Id,作为一个参数,然后在Id上返回调

我正在编写一个SE用户脚本,它是我用Vanilla JS编写的。它主要通过DOM操作工作,因此我经常使用
document.getElementById
document.querySelector
以及其他类似的函数。这些函数工作得很好,但它们很长,即使我有制表符完成,我还是希望缩短写出这些函数所需的时间。我曾想过使用另一个名称较短的函数来替换这些较长的函数。要替换
document.getElementById
,我需要一个函数名
byId
,它将接受一个Id字符串
Id
,作为一个参数,然后在
Id
上返回调用
document.getElementById
的值。函数看起来像

function byId(id) {
    return document.getElementById(id);
}
然后可以简单地通过写作来称呼它

byId('id-name');
我看到过调试某人尝试这样做的情况,但我的尝试有效。我只是想知道人们是如何看待这种做法的


那么,应该采用这种做法吗?这会恶化性能甚至破坏程序的功能吗?除了缩短函数名之外,还有什么可以帮助您的吗?

您的使用没有明显的性能缺陷。它也不容易出错,除非您正在引用其他脚本,这些脚本也可能在全局范围内定义
byId()
方法。我所看到的唯一优势,除了便于自己使用之外,是在大量使用
document.getElementById()
的情况下,减少客户端浏览器需要下载的
JavaScript
大小。这当然不太清楚。当程序员看到document.getElementById时,他们就会知道这是什么意思。当程序员看到
byId
时,他们将不知道正在执行什么操作(没有动词)或者可能引用什么类型的Id。然后,他们将查找定义并查看
document.getElementById
,这会破坏包装它所带来的任何声称的可读性增益。

为什么不按照链接问题所示使用
var byId=document.getElementById.bind(this)
,所以我决定保留我原来拥有的。如果我关心别人阅读你的代码,我不会这么做。你说你有制表符完成功能,那有什么问题吗?@kitty我的文本编辑器在制表符完成方面并不是最好的。它会变得很混乱。@michaelpri我会尝试调整你的编辑器或切换到另一个编辑器,有很多编辑器都完成得很好!