C1任务-49:函数定义与调用
任务背景我们可以把一系列的代码封装成一个函数,然后在任意位置去调用它,从而执行这一系列的代码。使用函数是一种简单直观的复用代码的方式。合理的定义和使用函数能使得我们的代码结构更加清晰、更便于阅读和维护。
任务目标
理解并掌握函数的定义的两种方式:声明式,表达式式
理解并掌握函数的调用
任务训练
1.通过声明来定义函数
我们可以使用function
关键字来定义一个具有名称的函数,其语法结构如下
[]表示可选,并不是正常代码中需要使用[]name表示函数名,()中的表示参数,{}中的表示函数体。在函数被调用的时候,会执行函数体中的代码。
注意:函数被定义的时候,函数体中的代码并不会被执行。只有到函数被调用的时候,函数体中的代码才会被执行。
对于使用函数声明这个方法定义的函数,函数调用可以在函数定义之前,如示例中的pri函数。
2.通过表达式来定义函数
我们还可以使用函数表达式的方式来定义一个函数,这时可以将函数直接赋值给一个变量,其语法结构如下
注意:函数被定义的时候,函数体中的代码并不会被执行。只有到函数被调用的时候,函数体中的代码才会被执行。
对于使用函数表达式这个方法定义的函数,函数调用必须在函数定义之后。
如果省略name,我们称该函数为匿名函数。
3.函数调用
对于使用函数声明的方法定义的函数,可以使用函数名加括号的方式来调用;对于使用函数表达式定义的函数,可以使用表达式所赋值的变量名加括号来调用。如上述代码所示。
在函数被执行的时候,会运行函数体中的代码。如果函数体中有return语句,则会在函数被调用处返回return出来的值,并结束函数的运行。return并不是必需的,没有return的话,函数会返回undefined。
函数在调用的时候,会将调用时给定的参数和定义时设定的参数依次绑定。如果调用时给定的参数个数不够,那么函数体中没有绑定的参数将被赋值为undefined
练习
1.
该函数有两个参数:a,b。函数执行的时候返回a*b的值
该函数调用时,给出了第一个参数值为8,最终返回32,所以第二个参数是4
2.
该函数有一个参数:a。函数执行的时候返回a*a的值,即a的平方
调用的时候调用了两次,并将第一次调用的结果作为参数传给foo函数进行第二次调用,得到的值就是a的4次方,所以a就是3或者-3