在日常开发中,我们通常会遇到需要我们重复利用的代码,比如,如果我要写三个九九乘法表,这种代码的偶合度非常高,偶合代码就是低效代码;我们通常会把一个代码利用函数封装起来,然后需要用时去调用代码。编程讲究高聚合,低偶合。
函数声明
- 声明函数时的形参没有数量限制,当有多个形参时使用 “,” 分隔
- 调用函数传递的实参要与形参的顺序一致
- 注意区分实参和形参,声明括号里得是形式参数;调用得括号里面的是实际参数;形参可以理解为是声明变量;实参可以说是为变量赋值
- 开发中尽可能的保持实参和形参数量一致
求 n ~ m 的累加和的案例
<script>
function getSum(n = 0, m = 0) {
let sum = 0
for (let i = n; i <= m; i++) {
sum += i
}
console.log(sum)
}
let num1 = +prompt('请输入起始值:')
let num2 = +prompt('请输入结束值:')
getSum(num1, num2)
</script>
综上,实参也不一定是要具体数值,也可以是一个变量
返回值return
<script>
function mul(n){
if(n == 1 || n == 0){
return 1;
}else{
return n * mul(n - 1);
}
}
mul(5)
</script>
作用域
作用域定义:变量(变量作用于又称上下文)和函数生效(能被访问)的区域,通俗来说就是一各变量在一段代码中,不是一直有效和哪里都适用,而这个变量的使用范围就是这个变量的作用域。作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字冲突。
全局作用域: 作用于所有代码执行的环境(一个script包着的内容)或者一个独立的 js 文件处于全局作用域内的变量,称为全局变量
局部作用域:作用于函数内的代码环境,就是局部作用域。 因为跟函数有关系,所以也称为函数作用域