老师帮我看一下,为啥实现不了功能
来源:4-8 编程练习
慕斯卡0165078
2020-06-16 18:59:47
<!DOCTYPE html>
<html>
<head>
<title> 事件</title>
</head>
<body>
<input type='text' id='num1' />
<select id='operate'>
<option value='+'>+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<input type='text' id='num2' />
<input type='button' value=' = ' onclick="count()" />
<input type='text' id='result' />
<script type="text/javascript">
function count() {
/*此处写代码*/
// 获取元素
debugger
var wrapElem = {
num1: document.getElementById("num1"),
num2: document.getElementById("num2"),
result: document.getElementById("result"),
operate: document.getElementById("operate")
};
//将计算函数放入一个对象中
var operation = {
add: function (num1, num2) {
return +num1 + +num2;
},
subtract: function (num1, num2) {
return num1 - num2;
},
multiply: function (num1, num2) {
return num1 * num2;
},
divide: function () {
return num1 / num2;
}
};
//执行函数
var operate = function(num1,num2) {
// console.log(wrapElem.operate.value);
switch (wrapElem.operate.value) {
case "+":
outputResult(operation.add(num1.value,num2.value));
break;
case "-":
outputResult(operation.subtract(num1.value,num2.value));
break;
case "*":
outputResult(operation.multiply(num1.value,num2.value));
break;
case "/":
outputResult(operation.divide(num1.value,num2.value));
break;
}
}
// 输出结果
function outputResult(result) {
wrapElem.result.value = result;
}
}
</script>
</body>
</html>
1回答
同学你好,代码中有如下问题:
1. operation的divide方法没有设置形参,修改如下:
2. operate方法需要调用并传参,如下:
如果我的回答帮到了你,欢迎采纳,祝学习愉快!
相似问题