带有美元符号的Javascript函数声明

带有美元符号的Javascript函数声明,javascript,Javascript,这个函数声明对我来说没有意义。美元符号是做什么的 function $(id) { return document.getElementById(id); } 此外,此代码还会干扰其他Javascript代码。如果我把它注释掉,那么我尝试使用的其他Javascript代码可以工作,但是我会失去一些其他功能 为什么它会干扰我的其他代码 美元符号是做什么的 function $(id) { return document.getElementById(id); } 没什么特别的。它只是一

这个函数声明对我来说没有意义。美元符号是做什么的

function $(id) { return document.getElementById(id); }  
此外,此代码还会干扰其他Javascript代码。如果我把它注释掉,那么我尝试使用的其他Javascript代码可以工作,但是我会失去一些其他功能

为什么它会干扰我的其他代码

美元符号是做什么的

function $(id) { return document.getElementById(id); }  
没什么特别的。它只是一个可以在变量/函数名中使用的字符

对于许多库(包括Mootools、Prototype和jQuery),使用
$
作为网关函数的名称已经成为一种趋势。这有两个主要问题:

  • 这使他们相互冲突
  • 这违反了法律的原则
此外,此代码还会干扰其他Javascript代码


大概还有其他东西在使用一个名为
$
的变量

让我猜猜:您使用的是jQuery还是prototype

$
\
是变量/函数名称中的有效字符。代码与声明
函数a(id){return document.getElementById(id);}
相同


它通常用作选择元素的快捷方式,因为键入
document.getElementById
对于它的使用频率来说太长了。

您正在声明一个名为
$
的函数,该函数包装
文档。getElementById
,显然是为了方便。
没有什么特别之处

参考文献



至于干扰,可能存在另一个名为
$
的全局变量,该变量正在被删除。请参阅。

JavaScript变量可以启动(并且只包含)一个
$
(以及其他变量)

以前,只为机器生成的变量添加了
$

我相信这是在规范中,但后来被删除了(不要引用我的话)

美元符号被添加到语言中,专门供代码使用 生成器和宏进程,所以如果您有编写代码的机器 然后,机器需要确信它们所使用的变量 创建不会与人类将要创建的变量冲突 创造。为了区分它们,我们允许机器使用美元 签名一些忍者发现了这一点,并想:哦,美元 符号,我可以用美元符号作为函数名,所以它们就在那里 这样做。而且看起来很愚蠢。我是说,看一个有美元的节目 签字


如果它干扰了其他代码,您可能正在使用使用此标识符的库。如果是这种情况,请查看该库的无冲突模式(如果有)。

您是某个JavaScript忍者:/Yes,正在使用jQuery。那么,如何更改此变量以消除冲突?@javascriptninja将函数重命名为独特的名称。很难确定在何处调用该函数,因此您可以更新。。