请问老师这种编程的思想要怎么锻炼呢?我听和看代码都懂,但是自己写只能考虑到一些情况。
来源: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回答
同学你好!
看同学描述的这种问题,是因为缺乏练习。
建议同学在拿到练习或者是需求的时候不要先着急写代码, 而是先想想一些实现逻辑和实现思路,想清楚了以后再去开始写。
多练习一下,或者是去问答区看看 别的同学是怎么思考这个东西的。看得多了就想的比较全面了。
如果帮助到了你 欢迎采纳 祝学习愉快~
相似问题