带有美元符号的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),使用$
作为网关函数的名称已经成为一种趋势。这有两个主要问题:
- 这使他们相互冲突
- 这违反了法律的原则
大概还有其他东西在使用一个名为
$
的变量 让我猜猜:您使用的是jQuery还是prototype
$
和\
是变量/函数名称中的有效字符。代码与声明函数a(id){return document.getElementById(id);}
相同
它通常用作选择元素的快捷方式,因为键入
document.getElementById
对于它的使用频率来说太长了。您正在声明一个名为$
的函数,该函数包装文档。getElementById
,显然是为了方便。没有什么特别之处
参考文献
至于干扰,可能存在另一个名为
$
的全局变量,该变量正在被删除。请参阅。JavaScript变量可以启动(并且只包含)一个$
(以及其他变量)
以前,只为机器生成的变量添加了$
我相信这是在规范中,但后来被删除了(不要引用我的话)
美元符号被添加到语言中,专门供代码使用
生成器和宏进程,所以如果您有编写代码的机器
然后,机器需要确信它们所使用的变量
创建不会与人类将要创建的变量冲突
创造。为了区分它们,我们允许机器使用美元
签名一些忍者发现了这一点,并想:哦,美元
符号,我可以用美元符号作为函数名,所以它们就在那里
这样做。而且看起来很愚蠢。我是说,看一个有美元的节目
签字
如果它干扰了其他代码,您可能正在使用使用此标识符的库。如果是这种情况,请查看该库的无冲突模式(如果有)。您是某个JavaScript忍者:/Yes,正在使用jQuery。那么,如何更改此变量以消除冲突?@javascriptninja将函数重命名为独特的名称。很难确定在何处调用该函数,因此您可以更新。。