函数
一.函数的基本使用
函数: 是可以被重复使用的代码块
作用:函数可以把具有相同或相似逻辑的代码“包裹”起来,这么做的优势是有利于代码复用
定义函数
利用关键字 function 定义函数 (声明函数)
调用函数
定义一个函数并不会自动执行它,需要调用函数
总结:函数最大的特点是将重复的代码封装起来,多次使用只需要调用函数即可
注意点:
1.命名规则与规范和变量一样,建议小驼峰
2.一般我们都习惯用动词命名 do something
案例:生成99乘法表
案例:计算1-100的累加和
二.函数的整体认知
函数:
传递数据给函数
函数内部处理
返回一个结果(值)给调用者
函数语法:
function sum(参数1, 参数2...) {
return 结果
}
console.log(sum(1, 2)) // 输出函数返回的结果
说明:
函数参数,如果有多个则用逗号分隔,用于接受传递过来的数据
return 关键字可以把结果返回给调用者
三.函数参数
形参:声明函数时小括号里的叫形参(形式上的参数)
实参:调用函数时小括号里的叫实参(实际上的参数)
执行过程: 会把实参的数据传递给形参,从而提供给函数内部使用
在Javascript中 实参个数和形参个数可以不一致
但是,如果形参过多 会自动填上undefined
如果实参过多 那么多余的实参会被忽略
建议:开发中尽量保持形参和实参个数一致!!!
逻辑中断
逻辑中断: 存在于逻辑运算符 && 和 || 中,左边如果满足一定条件会中断代码执行,也称为逻辑短路
false && anything // 逻辑与左边false则中断,如果左边为true,则返回右边代码的值
true || anything // 逻辑或左边true则中断,如果左边为false,则返回右边代码的值
默认参数
默认参数:可以给形参设置默认值
默认参数和逻辑中断使用场景区别:
默认参数主要处理函数形参(处理参数要比逻辑中断更简单)
逻辑中断除了参数还可以处理更多的需求
数组求和案例:
四.函数的返回值 return
返回值:把处理结果返回给调用者
注意事项:
(1)结束函数:
return会立即结束当前函数,所以后面代码不会再被执行
(2)不要换行:
在 return 关键字和被返回的表达式之间不允许使用换行符,否则内部执行相当于会自动补充分号
(3)默认返回:
函数可以没有 return,这种情况函数默认返回值为 undefined
函数求最大值最小值案例
元素是否存在案例
查找函数索引案例
五.作用域
作用域(scope): 变量或者值在代码中可用性的范围
作用:作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字冲突。
全局作用域(全局有效):作用于所有代码执行的环境(整个 script 标签内部)或者一个独立的 js 文件
局部作用域(局部有效):1. 函数作用域。作用于函数内的代码环境
2. 块级作用域。{ } 大括号内部
注意事项:
函数内部不声明直接赋值的变量当全局变量,不提倡
函数内部的形参可以当做局部变量看
变量访问原则:
在能够访问到的情况下先局部, 局部没有再找全局,总结: 就近原则
六.匿名函数
1.函数表达式
将匿名函数赋值给一个变量,并且通过变量名称进行调用 我们将这个称为函数表达式
立即执行函数
(匿名函数)()