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

时间:2012-01-26 23:19:30

标签: javascript

这个函数声明对我没有意义。 $ sign的作用是什么?

function $(id) { return document.getElementById(id); }  

此外,此代码正在干扰其他Javascript代码。如果我将其评论出来,那么我正在尝试使用的其他Javascript代码可以使用,但之后我会失去一些其他功能。

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

4 个答案:

答案 0 :(得分:4)

  

$ sign有什么作用?

没什么特别的。它只是一个可以在变量/函数名称中使用的字符。

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

  

此外,此代码会干扰其他Javascript代码。

据推测,其他东西正在使用一个名为$的变量。

答案 1 :(得分:3)

您正在声明一个名为$的函数,其中包含document.getElementById,显然是为了方便。没什么特别的。

参考What characters are valid for JavaScript variable names?


至于干扰,可能还有另一个名为$的全局变量,它正在被破坏。请参阅jQuery

答案 2 :(得分:2)

JavaScript变量可以从$(以及其他)开始(并且仅包括)。

以前,$仅用于机器生成的变量。

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

  

美元符号被添加到该语言专门供代码使用   生成器和宏进程,所以如果你有机器编写代码   那么机器需要对它们的变量充满信心   创造不会与人类将要去的变量发生冲突   创建。为了区分它们,我们将允许机器使用美元   标志。一些忍者发现了这一点,并认为哦,美元   签名,我可以使用美元符号作为函数名称,所以他们就在那里   这样做。它看起来很愚蠢。我的意思是,用美元看一个节目   登录。

Source: Douglas Crockford

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

答案 3 :(得分:1)

让我猜一下:您使用的是jQuery还是原型?

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

相同

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