首先,我们来看一下MDN的定义:函数是 JavaScript 中的基本组件之一。 一个函数是 JavaScript 过程 — 一组执行任务或计算值的语句。要使用一个函数,你必须将其定义在你希望调用它的作用域内。函数就是一段预先定义好的一段代码,可以在需要的位置调用。
接下来,我们来学习函数如何使用函数。
定义一个函数,用关键字function来定义,function就是英语“功能”的意思。表示这里面定义的语句,完成了一些功能。function后面有一个空格,后面就是函数名字,函数的名字也是关键字,命名规范和变量命名是一样的。名字后面有一对儿圆括号,里面放置参数,我们一会儿介绍。然后就是大括号,大括号里面是函数的语句。比如下面的代码,定义一个函数:
- function fun () {
- console.log('fun');
- }
在上面的代码中,我们定义了一个函数fun,内部的代码块是一句输出语句。函数如果不调用,那么里面的语句就不会执行,不调用就等于白写。调用一个函数的方法非常简单,函数名后面加一个(),() 是一个运算符,表示执行一个函数。语法为函数名();。
- fun();
上面的代码就是执行了函数fun,一旦调用了函数,函数内部的语句就会执行。能够感觉到,函数是一些语句的集合,让语句成为一个军团,集体作战。要不出动都不出动,要出动就全出动。得到调用才出动。
由此可以看出,函数的意义:在出现大量程序相同的时候,可以封装为一个function,这样只用调用一次,就能执行很多语句。
接下来,我们来看下函数的参数:
定义在函数内部的语句,都是相同的,但是实际上我们可以通过“参数”这个东西,来让语句有差别。定义函数的时候,内部语句可能有一些悬而未决的量,就是变量,这些变量,我们要求在定义的时候都罗列在小括号中。罗列在function小括号中的参数,叫做形式参数;调用时传递的数值,叫做实际参数。
- function pingfang (a) {
- console.log(a * a);
- }
在上面的代码中,我们定义了一个函数,函数名为pingfang,并定义一个参数a,代码执行为输出a的平方。当我们调用函数时:
- pingfnag(10);
调用的时候,要把这个变量的真实的值,一起写在括号里,这样随着函数的调用,这个值也传给了a。上面的代码就会输出10的平方。
另外,参数可以有无数个,用逗号隔开即可。
接下来,我们来看下函数的返回值。函数可以通过参数来接收数据,更可以通过return的语句来返回数据。return语句可以将数据返回到函数调用处。例如下面代码:
- function sum (a, b) {
- return a + b;
- }
- sum(10, 20);
上面代码中,定义一个函数sum,并有两个参数a和b,函数的执行结果是把参数a和b的和返回。调用时10和20作为实参传给函数,就会返回结果30。
注意,return语句只有的代码不会被执行,所以在函数返回值时需要注意。