- 作业1:求和函数封装练习
-
要求:
-
封装函数, 名字为sum
-
功能: 根据传入的两个数,求和并且返回求和的结果(函数必须有return返回值)
<script>
let num1 = +prompt("请输入第一个数字");
let num2 = +prompt("请输入第二个数字");
function sum(x,y){
return`两数的和为:${x+y}`
}
let sum1 = sum(num1,num2)
document.write(sum1);
</script>
- 作业2:封装函数, 复习函数的基本写法。
- 需求:实现两个数的值交换(函数版本)
-
分析:
-
函数名为 changeNum()
-
调用函数时,
changeNum(1,2)
-
经过函数内部处理后,输出
第一个值的结果是2 第二个值的结果是1
-
可以多调用两次
<script>
function changeNum(x,y){
let hand = x
x = y
y = hand
document.write(`a的结果是${x}<br>b的结果是${y}`);
}
changeNum(1,2)
</script>
- 作业3:封装余额函数 (复习函数的声明与调用)
-
要求:
-
运行程序后, 浏览器显示输入确认框(prompt)
-
第一个输入确认框提示输入银行卡余额
-
第二个输入确认框提示输入当月食宿消费金额
-
第三个输入确认框提示输入当月生活消费金额
-
输入完毕后,在页面中显示银行卡剩余金额
-
提示: 所有功能代码封装在函数内部(函数需要把余额返回)
<script>
function bank() {
let no1 = prompt("银行卡余额");
let no2 = prompt("当月食宿消费金额");
let no3 = prompt("当月生活费金额");
let no4 = no1 - no2 - no3
return no4
}
let money = bank()
document.write(`卡内剩余金额${money}`);
</script>
- 作业4:封装一个函数,可以求任意数组的和 或 平均值
-
要求:
-
函数可以传递2个参数,比如 handleData(arr, true)
handleData 处理数据的意思
-
参数一: 接受实参传递过来的数组
-
参数二: 布尔类型 如果是true或者不传递参数 是求和操作, 如果传递过来的参数是 false 则是求平均值
<script>
function getSum(arr, bool) {
let sum = 0
let nul = 0
for (let i = 0; i < arr.length; i++) {
sum += arr[i]
}
if (bool) {
return sum
} else {
ave = sum / arr.length
return ave
}
}
let res1 = getSum([21, 22, 45, 566, 65], true)
console.log(res1)
let res2 = getSum([21, 22, 45, 566, 65], false)
console.log(res2)
</script>
- 作业5:转换时间案例
-
需求: 用户输入秒数,可以自动转换为时分秒
- 分析:
- ①: 用户输入总秒数 (注意默认值)
- ②:计算时分秒(封装函数) 里面包含数字补0
- ③:打印输出
- 计算公式:计算时分秒
- 小时: h = parseInt(总秒数 / 60 / 60 % 24)
- 分钟: m = parseInt(总秒数 / 60 % 60 )
- 秒数: s = parseInt(总秒数 % 60)
<script> let second = +prompt('输入总秒数') function getTimes(t) { let h = parseInt(t / 60 / 60 % 24) let m = parseInt(t / 60 % 60) let s = parseInt(t % 60) h = h < 10 ? '0' + h : h m = m < 10 ? '0' + m : m s = s < 10 ? '0' + s : s return `您输入的总秒速为:${second}秒\n转换后的时间为 ${h}小时${m}分钟${s}秒` } let num = getTimes(second) alert(num) </script>