用js簡單實現計算器功能
我用的是比較蠢的一種方式,基本用到的就是Math一些相關方法/屬性 和簡單的函式,完整程式碼如下:
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
function inputEvent(e){
var val=e.innerHTML;
var xsval=document.getElementById("i1");
xsval.value+=val; }
+
function inputresult(){
var xsval=document.getElementById("i1");
xsval.value=eval(document.getElementById("i1").value);}
function clearNum(){
var xsval=document.getElementById("i1");
xsval.value="";
document.getElementById("i1").focus();}
function sinEvent(){
var xsval=document.getElementById("i1");
xsval.value=Math.sin(document.getElementById("i1").value); }
function cosEvent(){
var xsval=document.getElementById("i1");
xsval.value=Math.cos(document.getElementById("i1").value); }
function asinEvent(){
var xsval=document.getElementById("i1");
xsval.value=Math.asin(document.getElementById("i1").value); }
function acosEvent(){
var xsval=document.getElementById("i1");
xsval.value=Math.acos(document.getElementById("i1").value); }
function tanEvent(){
var xsval=document.getElementById("i1");
xsval.value=Math.tan(document.getElementById("i1").value); }
function atanEvent(){
var xsval=document.getElementById("i1");
xsval.value=Math.atan(document.getElementById("i1").value); }
function logEvent(){
var xsval=document.getElementById("i1");
xsval.value=Math.log(document.getElementById("i1").value); }
function expEvent(){
var xsval=document.getElementById("i1");
xsval.value=Math.exp(document.getElementById("i1").value); }
function sprtEvent(){
var xsval=document.getElementById("i1");
xsval.value=Math.sprt(document.getElementById("i1").value); }
function powEvent(){
var xsval=document.getElementById("i1");
xsval.value=Math.pow(document.getElementById("i1").value),-1;}
function PIEvent(){
var xsval=document.getElementById("i1");
xsval.value=Math.PI;}
function EEvent(){
var xsval=document.getElementById("i1");
xsval.value=Math.E;}
</script>
</head>
<body>
<table border="1px" >
<tr>
<td colspan="7"style="text-align: center;">javascript計算器</td>
</tr>
<tr>
<td colspan="7"> <input id="i1" style="width: 250px;"; type="text" value=""/> </td>
</tr>
<tr>
<td><button onclick="sinEvent()" >sin</button></td>
<td><button onclick="cosEvent()" >cos</button></td>
<td><button onclick="inputEvent(this)" >1</button></td>
<td><button onclick="inputEvent(this)" >2</button></td>
<td><button onclick="inputEvent(this)" >3</button></td>
<td><button onclick="inputEvent(this)" >+</button></td>
</tr>
<tr>
<td><button onclick="asinEvent()" >asin</button></td>
<td><button onclick="acosEvent()" >acos</button></td>
<td><button onclick="inputEvent(this)" >4</button></td>
<td><button onclick="inputEvent(this)" >5</button></td>
<td><button onclick="inputEvent(this)" >6</button></td>
<td><button onclick="inputEvent(this)" >-</button></td>
</tr>
<tr>
<td><button onclick="tanEvent()" >tan</button></td>
<td><button onclick="atanEvent()" >atan</button></td>
<td><button onclick="inputEvent(this)" >7</button></td>
<td><button onclick="inputEvent(this)" >8</button></td>
<td><button onclick="inputEvent(this)" >9</button></td>
<td><button onclick="inputEvent(this)" >*</button></td>
</tr>
<tr>
<td><button onclick="logEvent()" >log</button></td>
<td><button onclick="expEvent()" >exp</button></td>
<td><button onclick="inputEvent(this)" >0</button></td>
<td><button onclick="inputEvent(this)" >.</button></td>
<td><button onclick="inputresult(this)" >=</button></td>
<td><button onclick="inputEvent(this)" >/</button></td>
</tr>
<tr>
<td><button onclick="sprtEvent()" >sprt</button></td>
<td><button onclick="powEvent()" >1/x</button></td>
<td><button onclick="PIEvent()" >PI</button></td>
<td><button onclick="EEvent()" >E</button></td>
<td colspan="2"><button onclick="clearNum()" >清除</button></td>
</tr>
</table>
</body>
</html>