老师帮我看看哪里可以优化
来源:4-8 编程练习
慕沐5572550
2020-06-15 20:24:14
<div id="box">
<input type="text" class="formerInput" value="1" />
<select class="menu">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<input type="text" class="laterInput" value="2" />
<span class="sp1">=</span>
<span class="sp2">2</span>
</div>
<script>
var box = document.querySelector('#box');
var boxInput = {
forInu: box.querySelector('.formerInput'),
menu: box.querySelector('.menu'),
optio: box.querySelectorAll('option'),
laterInu: box.querySelector('.laterInput'),
sp2: box.querySelector('.sp2'),
sp1: box.querySelector('.sp1')
};
for(var i = 0; i < boxInput.optio.length; i++) {
boxInput.menu.onclick = function() {
switch(this.value) {
case '+':
boxInput.sp1.onclick = function() {
ret(ff.add(boxInput.forInu.value, boxInput.laterInu.value));
};
break;
case '-':
boxInput.sp1.onclick = function() {
ret(ff.sub(boxInput.forInu.value, boxInput.laterInu.value));
};
break;
case '*':
boxInput.sp1.onclick = function() {
ret(ff.mul(boxInput.forInu.value, boxInput.laterInu.value));
};
break;
case '/':
boxInput.sp1.onclick = function() {
ret(ff.dir(boxInput.forInu.value, boxInput.laterInu.value));
};
break;
}
}
}
function ret(ret) {return boxInput.sp2.innerText = ret;}
var ff = {
add: function(a, b) {return +a + +b;},
sub: function(a, b) {return a - b;},
mul: function(a, b) {return a * b;},
dir: function(a, b) {return a / b;}
}
</script>
1回答
好帮手慕言
2020-06-16
同学你好,效果是正确的,代码可以简化一下,例如:
祝学习愉快~
相似问题