老师,帮忙看下代码
来源:4-7 第六次修改--模块化
林迦叶
2019-10-16 23:17:39
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>简易计算器的实现</title>
<!-- <script src="index.js"></script> -->
<style type="text/css">
html,
body{
height: 100%;
margin: 0;
padding: 0;
}
body{
background: #666;
position: relative;
}
.main{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}
</style>
</head>
<body>
<div class="main">
<p>
<input type="text" class="formerInput" value="1">
<span class="sign">+</span>
<input type="text" class="laterInput" value="1">
<span>=</span>
<span class="result">2</span>
</p>
<p>
<input type="button" value="+" class="btn" title="add">
<input type="button" value="-" class="btn" title="subtract">
<input type="button" value="×" class="btn" title="multiply">
<input type="button" value="÷" class="btn" title="divide">
<input type="button" value="%" class="btn" title="mod">
</p>
</div>
<script>
(function (){
var main = document.querySelector(".main");//document.querySelector()获取指定元素中的第一个元素
var mainElem = {
formerInput:main.querySelector(".formerInput"),
laterInput:main.querySelector(".laterInput"),
sign:main.querySelector(".sign"),
result:main.querySelector(".result"),
btns:main.querySelectorAll('.btn')
};
// 绑定事件
each(mainElem.btns,function(index,elem){
elem.onclick = function(){
updateSign(this.value);
outputResult(operate(this.title,mainElem.formerInput.value, mainElem.laterInput.value));
};
});
// 遍历数组
function each(array, fn){
for(var i = 0;i < array.length;i++){
fn(i, array[i]);
}
}
// 更新符号
function updateSign(mark){
mainElem.sign.innerHTML = mark;
}
//运算
var operate = (function(){
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;
}
return operation;
}
};
function operation(name,num1,num2){
if(!operation[name]) throw new Error('不存在名字叫'+name+"的运算方法!");
return operation[name](num1,num2);
}
operate.addOperation = operation.addOperation;
return operate;
})();
operate.addOperation('mod',function(num1,num2){
return num1 % num2;
});
// 输出结果
function outputResult(outcome){
mainElem.result.innerHTML = outcome;
}
})();
</script>
</body>
</html>修改模块化之前可以正常运算,然后改完之后,忘记改到哪一步了,发生报错,不知道怎么修改
1回答
同学你好,如下所示的函数名字写错了, 建议修改:

如果帮助到了你, 欢迎采纳!
祝学习愉快~~~~
相似问题