繁体   English   中英

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

[英]Javascript function declarations with a dollar sign

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

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

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

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

$ sign有什么作用?

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

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

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

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

你声明一个名为$的函数包装document.getElementById ,显然是为了方便起见。 没什么特别的。

参考哪些字符对JavaScript变量名有效?


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

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

以前, $仅为机器生成的变量添加。

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

美元符号被添加到专门用于代码生成器和宏进程的语言中,因此如果您有机器编写代码,那么机器需要确信它们创建的变量不会与人类将要创建的变量冲突。 为了区分它们,我们将允许机器使用美元符号。 一些忍者发现了这一点并且认为哦,美元符号,我可以使用美元符号作为函数名称,所以他们在那里做那个。 它看起来很愚蠢。 我的意思是,看一下带有美元符号的程序。

资料来源:Douglas Crockford

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM