我试图破译.js脚本,我发现它充满了整个$?有没有理由使用它?我是JavaScript的新手.
Spo*_*oks 42
我想你正在阅读一个名为jQuery(或可能是另一个库)的JavaScript库.的$仅仅是一个命名空间或使用作为标识符的简写形式.
你可以这样认为jQuery('p')选择页面上的所有段落,或者你可以写的简短形式$('p').
这是jQuery tutorials/docs jQuery的链接
这是标准清单第7.6节详细描述了ECMA标准
T.J*_*der 40
许多图书馆都将其$作为主要标志.它与JavaScript本身无关,但它是一个简短的独特符号,因此库往往会浮现在它上面.(您可以$在JavaScript中启动标识符,标识符可以是一个字符长,因此$是有效的标识符,就像a或x.)
我知道至少有三个$用于某些东西的库:
jQuery函数的别名; 更多在这里.document.getElementById,更多在这里.Prototype也有$$,用于通过CSS选择器查找.$$.kem*_*002 10
$是一个变量.许多框架使用它作为使用它的简写.Prototype和Jquery是两个大的.这并不意味着$自动就是其中之一.它可以是任何东西,因为JavaScript中的任何东西都可以为$赋值.这是需要注意的事项,因为当您开始组合来自不同来源的脚本时,人们很容易意外地将变量重新分配给其他内容.
最有可能的是它是一个框架引用,但您必须阅读代码才能确定.在某个时间点,$用于表示它引用的代码是自动生成的,但这只是一个指导原则.
Ash*_*kes 10
如果你是javascript的新手,$() 可能看起来很奇怪.
试着想一想
var $ = function(){
//do something
}
Run Code Online (Sandbox Code Playgroud)
所以美元符号就像任何其他变量一样是变量的名称.
var myFunction = function(){
//do something
}
// this is exactly the same just a different name.
Run Code Online (Sandbox Code Playgroud)
所以美元符号在javascript中没有特殊含义.
框架喜欢使用它,因为你经常使用它们的功能,例如jQuery()每次都必须写,这将是乏味的.拥有一个角色很好而且很短.
我认为他们也喜欢这个$符号,纯粹是因为它很不寻常,所以很快就可以与其他代码区别开来.
console.log(jQuery)如果控制台返回一串代码$()是jQuery ,那么快速找出它是否是jQuery的方法就是这样做.如果你得到了undefined,那就是别的了.