js的简易小计算器函数的问题
定义的点击函数实现不了加减乘除功能;求大佬帮忙,该如何改动,calc()怎么引用加减乘除四个函数?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<input type="text" id="one" >
<input type="button" value="加" onclick="calc(add)" >
<input type="button" value="减" onclick="calc(sub)" >
<input type="button" value="乘" onclick="calc(mul)" >
<input type="button" value="除" onclick="calc(div)" >
<input type="text" id="two" >
=<input type="text" id="result" >
<script type="text/javascript">
function calc(fun){
var result=document.getElementById('result');
var num1=document.getElementById('one');
var num2=document.getElementById('two');
if(isNaN(num1)||isNaN(num2)){//||或
alert('请输入数字');
return false;
}
result.value=fun(num1,num2);
function add(num1,num2){
return num1+num2;
}
function sub(num1,num2){
return num1-num2;
}
function mul(num1,num2){
return num1*num2;
}
function div(num1,num2){
if(num2==0){
alert('除数不能为0');
}
return num1/num2;
}
}
</script>
</body>
</html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<input type="text" id="one" >
<input type="button" value="加" onclick="calc(add)" >
<input type="button" value="减" onclick="calc(sub)" >
<input type="button" value="乘" onclick="calc(mul)" >
<input type="button" value="除" onclick="calc(div)" >
<input type="text" id="two" >
=<input type="text" id="result" >
<script type="text/javascript">
function calc(fun){
var result=document.getElementById('result');
var num1=parseInt(document.getElementById('one').value);
var num2=parseInt(document.getElementById('two').value);
if(isNaN(num1)||isNaN(num2)){//||或
alert('请输入数字');
return false;
}
result.value=fun(num1,num2);
}
function add(num1,num2){
return num1+num2;
}
function sub(num1,num2){
return num1-num2;
}
function mul(num1,num2){
return num1*num2;
}
function div(num1,num2){
if(num2==0){
alert('除数不能为0');
}
return num1/num2;
}
</script>
</body>
</html>
为什么要通过calc呢,onclick直接绑定对应的加减乘除方法不好吗?
<input type="button" value="加" onclick="calc('+')" >
<input type="button" value="减" onclick="calc('-')" >
<input type="button" value="乘" onclick="calc('*')" >
<input type="button" value="除" onclick="calc('/')" >
function calc(fun){
var result=document.getElementById('result');
var num1=parseInt(document.getElementById('one').value);
var num2=parseInt(document.getElementById('two').value);
if(isNaN(num1)||isNaN(num2)){//||或
alert('请输入数字');
return false;
}
result.value= eval(num1 + ' ' + fun + ' ' + num2);
}