《JavaScript程序设计案例教程》教案 第4章 函数.docx
PAGE2
PAGE2
PAGE11
PAGE11
课题
函数
课时
6课时(270min)
教学目标
知识目标:
(1)了解什么是函数,了解作用域及其应用
(2)掌握函数的定义与调用
(3)掌握匿名函数的应用
(4)了解函数的嵌套和递归、变量提升
(5)掌握闭包函数的应用
能力目标:
(1)能够准确地定义JavaScript中的函数,掌握函数命名规则和参数的使用方法
(2)能够区分JavaScript中的三种作用域,在实际编程中合理运用作用域
(3)掌握函数表达式的定义和使用方法
(4)能够在实际编程中运用函数嵌套来避免全局变量的创建和为闭包的学习打下基础
素质目标:
(1) 提高对相似事物归纳总结的能力
(2) 提高组织管理能力,加强团队合作能力
(3)培养人文精神和法治意识
教学重难点
教学重点:函数的定义与调用,参数传递和返回值处理,作用域的三种类型及优先级,匿名函数、回调函数的应用,闭包函数和递归函数等复杂函数结构
教学难点:不同作用域下变量的优先级,复杂的闭包函数,递归函数的终止条件,匿名函数作为回调函数,高阶函数的实现
教学方法
问答法、讨论法、讲授法
教学用具
电脑、投影仪、多媒体课件、教材
教学过程
主要教学内容及步骤
课前任务
【教师】布置课前任务,和学生负责人取得联系,让其提醒同学通过APP或其他学习软件,完成课前任务
请同学们复习变量的概念和命名规则,并且尝试使用JavaScript的内置函数(如alert、console.log等)写一段简单的代码,展示其功能,然后在APP上发表遇到的问题,浏览其他同学遇到的问题,并提出解决办法。
【学生】完成课前任务
考勤
【教师】使用APP进行签到
【学生】班干部报请假人员及原因
问题导入
【教师】提出以下问题:
同学们在使用各种软件或者浏览网页的时候,有没有注意到一些特定的功能总是可以在不同的地方被重复使用呢?比如网页上的弹出提示框、数据验证等功能。那大家有没有想过这些功能是如何实现的呢?
【学生】聆听、思考、举手回答
传授新知
【教师】通过学生的回答,引入新知,讲解函数的定义与调用,以及作用域、匿名函数、嵌套与递归、闭包函数的相关知识
4.1函数的定义与调用
?【教师】扫码播放“函数的定义与调用”微课,帮助学生了解函数定义的语法规则,以及调用的方法
4.1.1函数定义
函数封装了一段实现特定功能的代码,也可以理解为将一段代码通过函数的方法体包装起来。函数的一个特点是,调用函数能实现相应的功能及获取返回值,而并不需要了解函数内部的实现。JavaScript提供了许多内置函数,如前几章使用的alert()函数,isNaN()函数,及后面章节将会介绍的setTimeout()函数等。
下面通过一段代码演示函数的应用。
……(详见教材)
上述代码,调用JavaScript内置的alert()函数弹出提示框;调用isNaN()函数判断字符串“function”是否为NaN值;调用setTimeout()函数输出字符串“function”。调用这些函数都实现了相应的功能,但我们并不清楚其内部的实现,这也印证了函数封装性的特点。
除内置函数外,JavaScript还允许开发者自定义函数,通过自定义函数可减少代码重复,提升代码的可维护性。自定义函数的语法如下:
function函数名(参数1,参数2,参数3,……){
//函数体
}
由上述语法可以看出,一个完整的函数由function、函数名、函数参数、函数体4大部分组成。function是定义函数的关键字;函数名命名规则和变量一致,可由大小写字母、下划线(_)、美元符号($)、数字组成,但不能以数字开头;函数参数是调用函数的使用者传递给函数的值,它是一个可选项,一个函数可以包含0到n个参数,函数参数可以理解为函数的初始条件,多个参数之间使用“,”分隔;函数体是用于实现函数功能的代码片段。
……(详见教材)
【课堂练习】
?【教师】利用多媒体展示【例4-1】,并进行讲解,帮助学生掌握自定义函数的实现方法
自定义加法函数。(实例位置:example/ch4/4-1.html)。
……(详见教材)
?【学生】聆听、思考、理解
……(详见教材)
?名师点睛
一个函数通常表示一个动作或者行为,所以通常在函数命名时使用动词+名词的形式。例如,获取手机号函数可以定义为getPhoneNumber。
?知识链接
箭头函数是ES6+中新增的函数定义方式,使用箭头函数可以简化函数的定义,同时它能绑定上下文的this指向,可以减少this指向导致的问题。
箭头函数使用“=”作为标识,箭头左侧为函数参数,右侧为函数返回值或者函数体。
……(详见教材)
4.1.2函数参数
定义函数时,(