老师帮我看看哪里可以优化

来源: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

同学你好,效果是正确的,代码可以简化一下,例如:

http://img.mukewang.com/climg/5ee8254b0920096f08340741.jpg

http://img.mukewang.com/climg/5ee82562097b24e610150730.jpg

http://img.mukewang.com/climg/5ee8256f09ea8fbd11110629.jpg

祝学习愉快~

0

0 学习 · 14456 问题

查看课程