不懂Javascript函数语法

时间:2014-02-26 17:41:48

标签: javascript jquery html

我正在查看网站的源代码,因为我正在尝试学习一些基本的Javascript。我理解第一部分:

function count() {
  ...
}

我知道该函数被称为count,并且不接受任何参数。我不明白的下一个功能:

$(function(){
  ...
});

该功能是否称为“功能”?为什么一开始就有一个'$'符号。我试过在互联网上搜索,但谷歌只是忽略'$'和括号,只搜索'功能'。

另外,我不明白的另一件事;该网站有一个按钮,按下时,播放音频文件。按钮设置如下:

<a href="javascript:void()" id="button">
<img src="img/button.png" border="0">
</a>

javascript:void()做什么?

我很抱歉这不是一个编程问题,但我正在尝试学习Javascript,我想我可能会看看其他人在做什么。

2 个答案:

答案 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