请问老师这种编程的思想要怎么锻炼呢?我听和看代码都懂,但是自己写只能考虑到一些情况。

来源:4-8 编程练习

伪装的很酷

2019-05-22 21:54:10

<!DOCTYPE html>

<html>


<head>

<title> 事件</title>

   <style>

body {

background: #eee;

}

</style>

</head>


<body>

<input type='text' id='num1' />

<select id='operate'>

<option value='+' title="add">+</option>

<option value="-" title="subtrac">-</option>

<option value="*" title="multiple">*</option>

<option value="/" title="divide">/</option>

</select>

<input type='text' id='num2' />

<input type='button' class="btn" value=' = ' />

<input type='text' id='result' />

   <script type="text/javascript">

(function () {

var ele = {

operate: document.getElementById('operate'),

num1: document.getElementById('num1'),

num2: document.getElementById('num2'),

btn: document.querySelector('.btn'),

result: document.getElementById('result'),

};



var operate = (function () {

var operation = {

'+': function (num1, num2) {

return +num1 + +num2;

},

'-': function (num1, num2) {

return num1 - num2;

},

'*': function (num1, num2) {

return num1 * num2;

},

'/': function (num1, num2) {

return num1 / num2;

},

addoperation: function (name, fn) {

if (!this[name]) {

this[name] = fn;

}

return operation;

}

};

function operate(name) {

if (!operation[name]) {

throw new Error('不存在名为' + name + '的运算方法');

}

return operation[name].apply(operation, [].slice.call(arguments, 1, arguments.length));

}

operate.addoperation = operation.addoperation;

return operate;

})();



ele.btn.onclick = function () {

outPutResult(operate(ele.operate.value, num1.value, num2.value));

};


           //输出结果

function outPutResult(result) {

ele.result.value = result;

}

})()

</script>

</body>


</html>



写回答

1回答

好帮手慕码

2019-05-23

同学你好!
看同学描述的这种问题,是因为缺乏练习。

建议同学在拿到练习或者是需求的时候不要先着急写代码, 而是先想想一些实现逻辑和实现思路,想清楚了以后再去开始写。

多练习一下,或者是去问答区看看 别的同学是怎么思考这个东西的。看得多了就想的比较全面了。

如果帮助到了你 欢迎采纳 祝学习愉快~



0

0 学习 · 14456 问题

查看课程