我正在查看网站的源代码,因为我正在尝试学习一些基本的Javascript。我理解第一部分:
function count() {
...
}
我知道该函数被称为count,并且不接受任何参数。我不明白的下一个功能:
$(function(){
...
});
该功能是否称为“功能”?为什么一开始就有一个'$'符号。我试过在互联网上搜索,但谷歌只是忽略'$'和括号,只搜索'功能'。
另外,我不明白的另一件事;该网站有一个按钮,按下时,播放音频文件。按钮设置如下:
<a href="javascript:void()" id="button">
<img src="img/button.png" border="0">
</a>
javascript:void()做什么?
我很抱歉这不是一个编程问题,但我正在尝试学习Javascript,我想我可能会看看其他人在做什么。
答案 0 :(得分:3)
$
是非常受欢迎的jQuery库定义的函数的名称(实际上是对它的引用)。
$( )
正在调用$ function
在括号内你有一个匿名的函数定义。
$(function(){ console.log('test'); });
几乎与:
相同function nameNotImportant() { console.log('test'); }
$(nameNotImportant);
但它更简洁,您不必考虑该功能的名称。
您可能已经注意到,nameNotImportant
未被调用。对它的引用作为参数传递给$
函数,以便随意执行,包括调用它。这正是$
函数在将函数作为参数传递给它时的作用:它在DOM准备好与之交互时调用该函数。
<a href="javascript:void()">
单击<a>
nchor时,浏览器执行的默认操作是导航到其href属性。如果你不想这样做,你必须以某种方式干扰机制,例如通过设置href属性来执行一些什么都不做的javascript代码。我不认为它是良好编程的一个例子,但这就是它的用途。
答案 1 :(得分:0)
我假设您知道$
是jQuery的别名。
$(function() {
// ...
});
将匿名函数传递给$
function,它可以采用回调函数。当DOM准备就绪时运行此函数,因此更详细的形式是
$(document).ready(function() {
// ...
});
此外,
javascript:void()
是used to simply return undefined
for a URL - 当您点击链接时,浏览器也无法导航到某个页面。 javascript:void()
<a>
标记为often used to allow the developer to bind JavaScript click events。