ps:所有代码都是我这个初学者写的,辣到你的眼睛是我的问题,非常不好意思,仅供参考.
1.目标:求和函数封装练习
要求:
-
封装函数, 名字为sum
-
功能: 根据传入的两个数,求和并且返回求和的结果(函数必须有return返回值)
<script>
// 接受用户输入的数值//
let i1 = +prompt('请输入第一个数')
let i2 = +prompt('请输入第二数')
function sum(s1, s2) {
// 封装函数求和
let sum = 0
sum = s1 + s2
return sum
// 返回值是两位数的和
}
document.write('两个数的和是'+sum(i1, i2))
</script>
2.目的: 封装函数, 复习函数的基本写法。
需求:实现两个数的值交换
分析:
-
函数名为 changeNum()
-
调用函数时,
changeNum(1,2)
-
经过函数内部处理后,输出
第一个值的结果是2 第二个值的结果是1
<script>
let i1 = +prompt('请输入第一个数')
let i2 = +prompt('请输入第二数')
function changeNum(arr) {
let i = 0
i = arr[0]
arr[0] = arr[1]
arr[1] = i
return [arr[0],arr[1]]
}
let b = changeNum([i1, i2])
document.write(`第一个数是${b[0]},第二个数是${b[1]}`)
</script>
3.目的: 复习函数的声明与调用
题目:封装余额函数
要求:
-
运行程序后, 浏览器显示输入确认框(prompt)
-
第一个输入确认框提示输入银行卡余额
-
第二个输入确认框提示输入当月食宿消费金额
-
第三个输入确认框提示输入当月生活消费金额
-
输入完毕后,在页面中显示银行卡剩余金额
-
提示: 所有功能代码封装在函数内部(函数需要把余额返回)
<script>
/*接受用户输入的数值*/
let yuE = +prompt('请输入余额')
let shiSu = +prompt('请输入食宿金额')
let shengHuo = +prompt('请输入生活金额')
/*计算剩下的余额*/
function shenYuE(params) {
let i = 0
/*设置i为剩下的余额*/
i = yuE - shiSu - shengHuo
/*余额=余额-食宿金额-生活金额*/
return i
/*返回值为i,及剩下的余额*/
}
let arr = shenYuE([yuE, shiSu, shengHuo])
document.write(`剩下的余额为${arr}`)
</script>
4.目标: 封装一个函数,可以求任意数组的和 或 平均值
要求:
-
函数可以传递2个参数,比如 handleData(arr, true)
handleData 处理数据的意思
-
参数一: 接受实参传递过来的数组
-
参数二: 布尔类型 如果是true或者不传递参数 是求和操作, 如果传递过来的参数是 false 则是求平均值
-
<script>
function getLol(arr, flag) {
let sum = 0
let pinjun = 0
if (flag === false) {
for (let i = 0; i < arr.length; i++) {
sum += arr[i]
pinjun = sum / arr.length
}
return pinjun
} else {
for (let i = 0; i < arr.length; i++) {
sum += arr[i]
}
return sum
}
}
let Arr = [50, 50, 20, 12]
document.write(getLol(Arr, false)+'<br>')
document.write(getLol(Arr, true)+'<br>')
document.write(getLol(Arr)+'<br>')
</script>