一、什么是函数?为什么需要函数?
函数可以理解为一个特定的代码块容器,它可以完成特定的需求,标签可以重复使用。需求:让99乘法表重复使用。二、函数声明和函数调用
函数默认不会主动执行,必须通过函数名()调用才会执行.函数一次声明可以多次调用,每一次函数调用函数体里面的代码会重新执行一次。
我们曾经使用的alert() parselnt()这种名字后面跟小括号的本质都是函数的调用
例如:封装一个函数,计算两个数的和:
二、函数传参
根据上面练习的缺陷引出函数传参 把函数在复用过程中会改变的值提出来,作为参数传递进去.这样可以极大提高函数的灵活性。函数传参的语法
形参:函数声明的时候,小括号里面的是形参;形式上的参数;相当于变量;作用:接受传递过来的实参;如果没有实参传递过来默认是undefined。实参:实际的参数;函数调用的时候,小括号里面的参数;可以是变量。
参数默认值
形参的默认值是undefined;function fn(x=0,y=0){};细节说明:1.术语1:在声明函数的小括号里面写的数值我们称之为形式参数;2.术语2:在调用函数的小括号里面写的数值我们称之为实际参数;3.形参作用:本质上就是在函数内部声明变量;4.实参作用:给形参赋值;5.我们曾经使用过的 alert('打印').parselnt('11').Number('11')本质上都是函数调用的传参。
函数的返回值
我们使用过的返回值引出为什么需要返回值:使用过的返回值:let result = prompt('请输入你的年龄?');let result2 = confirm('你确定要删除这条记录了么?');let result3 = parselnt('111');//函数的返回值不是必须的,比如:alert()let result4 = alert('弹出一个内容');上面都是使用过的函数返回值的情况.只是这些函数是js底层内置的,我们直接就可以使用;引出我们自己自定义的函数如何有返回值。
介绍语法:
场景介绍:
return result 和 console.log的区别?调用两次求和函数,得到每一次求和的结果.再比较这两个结果的大小。
返回值练习:根据下面的模板,计算不同学生的总成绩(将每科成绩累加),并求出当中的最高分。
综合练习:
1.求任意数组中的最大值并返回这个最大值
2.求任意数组中的最小值并返回这个最小值
3.求任意2个数中的最大值,并返回
断点调试
fll进入函数内部细节补充
两个相同的函数后面的会覆盖前面的函数;在js中 实参的个数和形参的个数可以不一致:如果形参过多 会自动填上undefined(了解即可);如果实参过多 那么多余的实参会被忽略(函数内部有一个arguments.里面装着所有的实参);函数一旦碰到retuen就不会再往下执行了 函数的结束用return:1.思考:break的结束和return 结束有什么区别?2.思考:如何返回多个数据?
作用域
什么是作用域?为什么要了解作用域。准备好一个变量在不同的情况下,取值不同的问题例子作为开场。
作用域分类:全局作用域:全局作用域 在任何区域都可以访问;局部作用域:函数作用域:只能在当前函数的内部访问;块级作用域:必须是let const声明的变量;{}
变量访问原则 在能够访问到的情况下 先局部 局部没有找全局
匿名函数
没有名字的函数,无法直接使用;使用方式:将匿名函数赋值给一个变量,并且通过变量名称进行调用 我们将这个称为函数表达式。;自执行(匿名函数自执行) 场景介绍:避免全局变量之间污染。