老师 我想添加一个算法,为什么说mod没有声明呢?
<!DOCTYPE html>
<html>
<head>
<title> 事件</title>
</head>
<body>
<input type='text' id='num1' />
<select id='operate'>
<option value='add'>+</option>
<option value="subtract">-</option>
<option value="multiply">*</option>
<option value="divide">/</option>
<option value="mod">%</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 num1 = document.querySelector("#num1");
var num2 = document.querySelector("#num2");
var operate = document.querySelector("#operate");
var result = document.querySelector("#result");
// console.log(operate.value);
// console.log(num1.value);
// switch(operate.value){
// case 'add': outputResult(operation.add(num1.value,num2.value));break;
// case 'subtract': outputResult(operation.subtract(num1.value,num2.value));break;
// case 'multiply': outputResult(operation.multiply(num1.value,num2.value));break;
// case 'divide': outputResult(operation.divide(num1.value,num2.value));break;
// };
outputResult(operateFn(operate.value,num1.value,num2.value));
// result.innerHTML = operation()
}
//定义计算方法
var operateFn = function(name,num1,num2){
if(!operation[name]) throw new Error('您输入的'+name+'不存在!');
return operation[name](num1,num2);
};
var operation = {
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;
},
addOperation: function(name,fn){
if(!operation[name]){
operation[name] = fn;
}
}
};
operation.addOperation(mod,function(num1,num2){
return num1%num2;
});
//定义输出函数
function outputResult(result2){
result.value = result2;
}
</script>
</body>
</html>
正在回答 回答被采纳积分+1
- 参与学习 人
- 提交作业 467 份
- 解答问题 4826 个
本路径带你通过系统学习HTML5、JavaScript、jQuery的进阶知识,不仅如此,还会学习如何利用组件化的思想来开发网页,知识点+案例,使得所学可以更好的得到实践。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星