学习目标
函数
变量的作用域
函数的作用域
递归
1.函数
分为两种,一种是JS提供的,例如typeof parseInt,parseFloat,alert...这些是可以直接调用的
另一种是自定义函数(function),也称为方法(method);
自定义函数是一段已经预定义好的代码块
2.定义函数和使用函数
(1)普通函数的声明和调用
声明 function 函数名称(){ //函数体——要重复执行的代码 } 调用 函数名称() |
函数只是声明,里面的代码不执行,只有调用函数采花贼执行函数体中的代码
练习:声明一个函数calc,在函数体中实现两个数字相加,并打印最终结果
(2)带有参数的函数声明和调用
声明 function 函数名称(参数列表){ //函数体 } 参数列表:可以声明0个或多个,多个用逗号隔开;声明时的参数称为“形参”,调用时的参数称为“实参”; 形参只是负责占位,在调用的时候,实参的值会赋给形参 |
练习:声明函数calc,传递两个参数,计算相加并打印最终结果
(3)带有返回值的函数的声明和调用
function 函数名称(参数列表){ //函数体 return 值; } 调用 函数名称(参数列表) |
说明:①函数中没有添加return,返回结果是undefined;
②函数中有return,若return后的值为空,返回结果是undefined
③return后的所有语句都不能被执行,return就是函数结束。
练习:①声明函数getMax,传递两个参数,计算两个参数的大小,返回最大值。
②..............................................传递三个参数
③声明函数sum,传递一个参数,返回这个参数和1之间的所有数的和。(计算前n个数的和)
④声明函数isRun,传递参数为年份,若是闰年返回true,不是返回false
3.变量的作用域
变量的作用域指变量的可访问范围
分为全局作用域和局部(函数)作用域
全局作用域下的变量可以在任何位置访问到
局部作用域下的变量只能在局部(函数内部)访问到
注意:函数内部声明的变量没有使用VAR关键字,声明的变量就称为全局变量
变量提升
js程序在执行前,声明的变量都会加载到程序的最前边(只是提升声明),但是赋值还是在原来的位置。函数内部也存在变量的提升。
4.函数作用域
函数和变量相同,也分为全局作用域和局部作用域。
局部作用域下声明的函数,只能在函数的内部访问。
全局作用域下声明的函数,可以在任何的位置访问。
在程序执行前,声明的函数会提升到程序的最前边。
5.递归
在函数的内部,调用自身。
练习:使用递归函数来获取前n项的和
作业:
(1)复习今天内容,整理思维导图
(2)使用递归计算斐波那契数列的第N项
任何一项的结果=前两项的值相加
结束递归条件:第一项和第二项返回的结果都是1
(3)预习匿名函数,回调函数,JS中对象