函数
变量的作用域
函数的作用域
递归
1.函数
Number()/parseInt()/parseFloat()/alert()/prompt()...
函数分为系统函数和自定义函数
函数:是一个功能体,需要提供若干个数据,返回处理的结果;用于封装重复执行的代码
(1)创建普通函数
function 函数名称(){ 函数体 —— 要封装的重复执行的代码 } |
调用函数
函数名称() //执行函数体中封装的代码
练习:创建函数getSum,在函数体中封装计算1~100之间所有整数的和并打印结果;调用多次
(2)创建带有参数的函数
function 函数名称(参数列表){ 函数体 } |
调用
函数名称(参数列表)
创建函数时的参数称作形参,调用函数时的参数称作实参,实参会赋值给形参,实参数量可以和形参的数量不匹配,如果形参未被赋值则为undefined。
练习:创建函数getSum,计算1~任意数字之间所有整数的和,调用多次
练习:创建函数getRun,传递任意两个年份,统计出两个年份之间所有闰年的个数,调用多次
(3)创建带有返回值的函数
function 函数名称(参数列表){ 函数体 return 值; //返回值,返回函数调用后的结果 } |
调用
函数名称(参数列表)
return用于返回函数调用后的结果,如果函数中没有return或者return后不加任何值则返回undefined,一旦return执行就会跳出函数,结束函数的执行。
练习:创建函数getMax,传递任意两个数字返回最大值
练习:创建函数getMax2,传递任意三个数字返回最大值
练习:创建函数getStatus,根据订单的状态码返回对应的汉字状态
1-等待付款 2-等待发货 3-运输中 4-已签收 5-已取消 其它-无法追踪
使用switch-case判断
对比break和return break用于循环和switch-case语句中,跳出所在的这组语句 return用于函数中,跳出函数,结束函数的调用 |
练习:创建函数isPrime,传递任意一个数字,检测是否为素数,返回布尔型的值。
练习:创建函数isRun,传递人一个年份,检测是否为闰年,返回布尔型的值
2.变量的作用域
全局变量:在全局作用域下声明的变量,可以在任意的作用域下访问到
局部变量:在函数作用域下声明的变量,只能在当前的作用域下访问到
在函数内不加var声明的变量是全局变量,不推荐,后期再严格模式下会报错。
在程序执行前,会将var声明的变量提升到所在作用域的最前边,只是提升声明,不提升赋值
3.函数的作用域
全局函数:在全局作用域下创建的函数,可以在任意作用域下调用
局部函数:在函数作用域下创建的函数,只能在当前作用域下调用
斐波那契数列
第1、2项固定是1,从第3项开始每项的值是前两项相加的和
1 1 2 3 5 8 13 21
课后任务
(1)复习今天内容,整理思维导图
(2)练习:创建函数fib,传递任意一个数字,返回斐波那契数列下某一项的值
fib(6) -> 8 fib(7) -> 13
循环的方法
(3)预习递归、匿名函数、对象