函数的理解
- 函数可以提升代码三性(复用性、扩展性、维护性)
- 函数可以隔离变量作用域
- 函数可以控制代码的调用(不调用不执行)
- 函数的封装没有绝对的对错(取决于输入代码时的心情,对业务的理解等等条件)
- 所有函数无论调用还是执行,都要搞清楚三要素( 意义、参数、返回值)
形参 实参与返回值的里写
- 完成一件事的条件就是参数(参数分为形参和实参)
- 形参是抽象的,实参是具体的
- 参数为了解耦,一个函数中有多种情况,多种情况的不同点就是参数(也就是解耦。把一个事情反复做,叫耦合)
- 实参就是形参的值(换而言之你想为内部变量进行赋值,通过实参进行传递,通过形参进行变量)
- 封装函数时参数宁多不少(这样可提升其复用性,多的参数可设置为可选参数)
- 返回值就是一个函数的执行结果
- 如果需要内部变量传递到外部,那么就把它设置为该函数的返回值,这样就可以用一个变量接收函数的执行结果,从而得到该变量的值
回调
封装好过滤数组函数(10.12作业)
总结下原生函数fret的意义参数返回值
reduce
- 意义 对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。
- 语法 arr.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue])
- 参数
callback
执行数组中每个值 (如果没有提供initialValue则第一个值除外
)的函数,包含四个参数:accumulator
累计器累计回调的返回值; 它是上一次调用回调时返回的累积值,或initialValue
(见于下方)。currentValue
数组中正在处理的元素。index
可选数组中正在处理的当前元素的索引。 如果提供了initialValue
,则起始索引号为0,否则从索引1起始。array
可选调用reduce()
的数组initialValue
可选作为第一次调用callback
函数时的第一个参数的值。 如果没有提供初始值,则将使用数组中的第一个元素。 在没有初始值的空数组上调用 reduce 将报错。
- 返回值 函数累计处理的结果
every
- 意义 测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值。(若收到一个空数组,此方法在一切情况下都会返回
true
。) - 语法 arr.every(callback(element[, index[, array]])[, thisArg])
- 参数
callback
用来测试每个元素的函数,它可以接收三个参数:element
用于测试的当前值。index
可选用于测试的当前值的索引。array
可选调用every
的当前数组。
thisArg
执行callback
时使用的this
值。
- 返回值 如果回调函数的每一次返回都为 truthy 值,返回
**true**
,否则返回**false**
。闭包
递归
连贯操作
函数的自执行
- 意义 测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值。(若收到一个空数组,此方法在一切情况下都会返回