函数允许你在一个代码块中存储一段用于处理一个任务的代码,然后在任何你需要的时候用一个简短的命令来调用,而不是把相同的代码写很多次。
在 JAVAScript中, 你将发现函数无处不在 。事实上, 到目前为止,我们一直在使用函数,只是我们还没很好的讨论它们。
几乎任何时候,只要我们使用一个带有一对圆括号()的JavaScript结构,并且不是在使用一个常见的比如for循环,while或do…while循环,或者if语句这样的内置语言结构时,那么我们就正在使用函数。
我们已经使用了很多浏览器内置函数,当我们操作一个字符串的时候,例如:
或者当我们操作一个数组的时候:
或者当我们生成一个随机数时:
JavaScript有许多内置的函数,可以让我们做很多有用的事情,而无需自己编写所有的代码。
请记住,这些内置浏览器函数不是核心JavaScript语言的一部分——被定义为浏览器API的一部分,它建立在默认语言之上,以提供更多的功能。
其实,严格说来,内置浏览器函数并不是函数——它们是方法。
每当我们看到一个自定义名称后面都带有括号,那么这使用的是自定义函数。
运行该函数一次可以再控制台打印一次 "My name is David."。
如果我们想要打印5次呢,可能很多人会这样写:
那如果我们想要打印10次,20次或者更多的任意次呢,难道每打印一次都写一个for循环吗,这不太现实。我们想到了函数:
可以看出,使用函数方法后,可以大幅度的较少我们的代码量,只需要改变参数值然后调用函数就可以了。
我们把上面的函数改变一下:
这个函数叫做匿名函数 — 它没有函数名! 它也不会自己做任何事情。 我们通常使用匿名函数以及事件处理程序, 例如,如果单击相关按钮:
还可以将匿名函数分配为变量的值,例如:
匿名函数也称为函数表达式。在前面的文章中我已经提到过,函数表达式与函数声明有一些区别。函数声明会进行声明提升(declaration hoisting),而函数表达式不会。