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回答

好帮手慕久久

2021-05-19

同学你好,代码正确,但是需要注意如下问题:

当元素有id时,可以直接使用id获取元素,而不用使用document.getElementById()这类方法获取元素,如下:

http://img.mukewang.com/climg/60a4ccf6098fd3e206030170.jpg

http://img.mukewang.com/climg/60a4ccfa09926f0804330125.jpg

但是这种写法的兼容性并不好,所以不建议这样使用。

同学的代码中,就直接利用id使用了result元素:

http://img.mukewang.com/climg/60a4cd5209b2923d04850125.jpg

建议做如下调整:

http://img.mukewang.com/climg/60a4cd6709801aee06130150.jpg

祝学习愉快!


0

0 学习 · 14456 问题

查看课程