4-8 编程练习作业提交
来源:4-8 编程练习
MiMicccc
2021-05-19 15:45:20
<!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() {
/*此处写代码*/
//获取元素
var wrapElem = {
num1: document.getElementById('num1'),
num2: document.getElementById('num2'),
result: document.getElementById('result'),
operate: document.getElementById('operate')
};
// 运算方法
var operations = {
add: function(num1, num2) {
return +num1 + +num2;
},
subtract: function(num1, num2) {
return num1 - num2;
},
multiply: function(num1, num2) {
return num1 * num2
},
divide: function(num1, num2) {
return num1 / num2;
}
};
// switch 方法判断并计算+-*/
var operate = function(num1, num2) {
switch (wrapElem.operate.value) {
case '+':
return operations.add(num1, num2);
break;
case '-':
return operations.subtract(num1, num2);
break;
case '*':
return operations.multiply(num1, num2);
break;
case '/':
return operations.divide(num1, num2);
break;
}
};
// 更新输出结果
function outputResult(res) {
result.value = res;
}
outputResult(operate(wrapElem.num1.value, wrapElem.num2.value));
};
</script>
</body>
</html>
1回答
同学你好,代码正确,但是需要注意如下问题:
当元素有id时,可以直接使用id获取元素,而不用使用document.getElementById()这类方法获取元素,如下:


但是这种写法的兼容性并不好,所以不建议这样使用。
同学的代码中,就直接利用id使用了result元素:

建议做如下调整:

祝学习愉快!
相似问题