javascript代码模拟科学计算器,运行后计算器的界面没出来,为什么?大家帮忙看看。
<html><head>
<mete http-equiv="content-type" content="text/html;charset=GB2312" />
<title>6-2 科学计算器</title>
<!-- 样式表 -->
<style>
*{font-size:12px;} /*规定了所有的字体样式*/
body { background-color:buttonface;border-style:none;} /*窗口主体样式*/
.button { width:50px;height:30px;} /*按钮大小*/
#txt_display {width:100%; cursor:default; text-align:right;} /*显示结果的文本框样式*/
</style>
<!--脚本部分 -->
<script>
//将所有按钮的内容存放在数组中
var calc_buttons = [0,1,2,3,4,5,6,7,8,9,".","=","+","_","*","/","AC","sin","sin","cos","tan","asin","acos","atan","ln"];
//用于计算的全局变量
var previous_value=0, op="", start_new_input=true;
//计算的核心函数
function calc(strCMD){
//获取页面元素:显示结果的文本框
var objTxt = $("txt_display");
//根据单曲单机的按钮内容决定所需要的操作
switch(strCMD){
//如果是三角函数,调用Math对象对应的方法操作
case "sin": objTxt.value = Math.sin(objTxt.value);break;
case "cos": objTxt.value = Math.cos(objTxt.value);break;
case "tan": objTxt.value = Math.tan(objTxt.value);break;
case "asin": objTxt.value = Math.asin(objTxt.value);break;
case "acos": objTxt.value = Math.acos(objTxt.value);break;
case "atan": objTxt.value = Math.atan(objTxt.value);break;
case "ln": objTxt.value = Math.log(objTxt.value);break;
//如果是四则运算符,则执行计算
case "+":
case "-":
case "*":
case "/":
start_new_input = true;
if(op!=""&&objTxt.value!=""){
objTxt.value = eval(previous_value+op+objTxt.value);
op=strCMD;
}else{
op=strCMD;
}
break;
case: "=":
start_new_input = true;
if(op!=""&&objTxt!="")objTxt.value = eval(previous_value+op+objTxt.value);
op= "";
previous_value=0;
break;
//重置所有变量,回复初始状态
case: "AC":
start_new_input = true;
objTxt.value ="0";
op= "";
previous_value=0;
break;
//如果是小数点
case: ".":
//调用字符串"indexOf"方法查找,如果当前输入中已经有了小数点则跳出操作
//注意到本段case块后没有break语句,如果当前输入中没有了小数点,则会执行default块
if(objTxt.value.indexOf(".")!=-1)break;
//如果是0-9或小数点
default:
//如果需要清空原有输入,则将原有输入保存在变量"prebious_value"中
//并且将"需要清空原有输入"的状态设为"否"("false")
if(start_new_input){
start_new_input=false;
previous_value=objTxt.value;
objTxt.value="0";
}
//如果当前输入不是"0"
if(objTxt.value!="0"){
objTxt.value += strCMD;
}else if(strCMD!="0"){
objTxt.value = strCMD;
}
}
}
function write_table(){
document.write("<table>");
document.write("<tr>");
for(var i=0; i<calc_buttons.length; i++){
document.write("<td><input value=\""+calc_buttons[i]+"\" type=\"button\"
class=\"button\" onclick=\"calc(this.value);\"></td>);
if((i+1)%5==0)document.write("</tr><tr>");
}
document.write("</tr>");
document.write("</table>");
}
function $(str){return(document.getElementById(str));}
</script>
</head>
<body style="overflow:auto;">
<input id="txt_display" value="0" readonly >
<script>
write_table();
</script>
</body>
</html>