- 1.作用域
1.1 pass关键字表示,暂时不写该方法
1.2表示返回值为方法
输出结果333
1.3函数作用域:和函数调用没关系,和声明的位置有关系,
结果为444
- 2.匿名函数
lanmbda 关键字
形式:冒号后必须为返回值
优点:方便,
缺点:逻辑结构无法太复杂
- 3函数式编程
3.1三种编程思想
面向过程:基本单位为函数,找到解决问题的入口,按照固定的流程去模拟解决问题的流程,违反了开放封闭原则,
面向对象:
函数式编程:编程语言函数+数学定义的函数. 可读性差
3.2.
①不定义变量,不修改变量
②把函数当作参数传给另一个函数或者返回值中包含函数,被称为高阶函数
③尾调用优化,如果不是尾调用,递归时就会效率很低,调用栈,占内存,记录当前层状态,如果在结尾处调用,就会节约内存
尾调用:函数最后一步调用别的方法
- 4 map函数
对数组中每个元素进行相同的操作,返回的是可迭代对象
处理序列中的每个元素,得到的结果为可迭代对象,元素个数与位置不变
- 5 filter函数
第一个函数为自定义函数(返回值为布尔),第二个参数为可迭代对象 过滤掉布尔值为false的数组元素
过滤不和规定的数组元素,如果是true则留下来
- 6.reduce函数
第一个参数为函数,第二个为可迭代对象,第三个为初始值,需要先引入reduce工具
处理一个序列,然后进行合并操作