请高手帮我解释下这段JAVASCRIPT计算器代码

代码如下,解释详细点,不胜感激!<HTML><HEAD><TITLE>NewDocument</TITLE><SCRIPTLANGUAGE="JavaScript"><!... 代码如下,解释详细点,不胜感激!
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
var showFlag = false;
var paren = "";
function fun(cmd){
var obj = document.getElementById("txt");
if(showFlag){
obj.value = "";
paren = "";
showFlag = false;
}
paren = paren + cmd;
if(cmd=="0" || cmd=="1" || cmd=="2" || cmd=="3" || cmd=="4" || cmd=="5" || cmd=="6" || cmd=="7" || cmd=="8" || cmd=="9"){
obj.value = cmd;
}
}

function count(){
var obj = document.getElementById("txt");
try{
obj.value =eval(paren );
}catch(e){

}
showFlag = true;
}
//-->
</SCRIPT>
<BODY>
<TABLE border=1>
<TR>
<TD colspan="4" align="center"><input type="text" name="txt" value="" readonly style="text-align:right"></TD>
</TR>
<TR>
<TD align="center"><input type="button" name="btn" value=" 7 " onclick="fun('7');"></TD>
<TD align="center"><input type="button" name="btn" value=" 8 " onclick="fun('8');"></TD>
<TD align="center"><input type="button" name="btn" value=" 9 " onclick="fun('9');"></TD>
<TD align="center"><input type="button" name="btn" value=" + " onclick="fun('+');"></TD>
</TR>
<TR>
<TD align="center"><input type="button" name="btn" value=" 4 " onclick="fun('4');"></TD>
<TD align="center"><input type="button" name="btn" value=" 5 " onclick="fun('5');"></TD>
<TD align="center"><input type="button" name="btn" value=" 6 " onclick="fun('6');"></TD>
<TD align="center"><input type="button" name="btn" value=" - " onclick="fun('-');"></TD>
</TR>
<TR>
<TD align="center"><input type="button" name="btn" value=" 1 " onclick="fun('1');"></TD>
<TD align="center"><input type="button" name="btn" value=" 2 " onclick="fun('2');"></TD>
<TD align="center"><input type="button" name="btn" value=" 3 " onclick="fun('3');"></TD>
<TD align="center"><input type="button" name="btn" value=" * " onclick="fun('*');"></TD>
</TR>
<TR>
<TD align="center"><input type="button" name="btn" value=" 0 " onclick="fun('0');"></TD>
<TD align="center"><input type="button" name="btn" value=" = " onclick="count();"></TD>
<TD align="center"><input type="button" name="btn" value=" . " onclick="fun('.');"></TD>
<TD align="center"><input type="button" name="btn" value=" / " onclick="fun('/');"></TD>
</TR>
</TABLE>
</BODY>
</HTML>
展开
 我来答
cc10k
推荐于2016-05-13 · TA获得超过545个赞
知道小有建树答主
回答量:203
采纳率:0%
帮助的人:235万
展开全部
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
//标志位,用来判断是否要初始化
var showFlag = false;
//计算器内的值
var paren = "";
//点击触发的事件函数
function fun(cmd){
//获得id为txt的文本框的对象
var obj = document.getElementById("txt");
//如果showFlag为true,则初始化
if(showFlag){
//文本框的内容清空
obj.value = "";
//计算器内的值paren清空
paren = "";
//标志位设为false
showFlag = false;
}
//计算器内的值paren加上点击的数字重新赋给paren
paren = paren + cmd;
//如果点的是0-9这些数字,则把文本框的内容设成点中的数字
if(cmd=="0" || cmd=="1" || cmd=="2" || cmd=="3" || cmd=="4" || cmd=="5" || cmd=="6" || cmd=="7" || cmd=="8" || cmd=="9"){
obj.value = cmd;
}
}
//计算函数
function count(){
//获得id为txt的文本框的对象
var obj = document.getElementById("txt");
//这里试图捕获一个异常
try{
//把计算器内的值paren放入文本框中,eval的作用就是把字符串转为可以执行的JS代码,进行数值计算
obj.value =eval(paren );
}catch(e){
//这里处理异常
}
//标志位设为true
showFlag = true;
}
//-->
</SCRIPT>
<BODY>
<TABLE border=1>
<TR>
<TD colspan="4" align="center"><input type="text" name="txt" value="" readonly style="text-align:right"></TD>
</TR>
<TR>
<!--onclick事件是点击触发fun()函数,并把参数传入函数中 -->
<TD align="center"><input type="button" name="btn" value=" 7 " onclick="fun('7');"></TD>
<TD align="center"><input type="button" name="btn" value=" 8 " onclick="fun('8');"></TD>
<TD align="center"><input type="button" name="btn" value=" 9 " onclick="fun('9');"></TD>
<TD align="center"><input type="button" name="btn" value=" + " onclick="fun('+');"></TD>
</TR>
<TR>
<TD align="center"><input type="button" name="btn" value=" 4 " onclick="fun('4');"></TD>
<TD align="center"><input type="button" name="btn" value=" 5 " onclick="fun('5');"></TD>
<TD align="center"><input type="button" name="btn" value=" 6 " onclick="fun('6');"></TD>
<TD align="center"><input type="button" name="btn" value=" - " onclick="fun('-');"></TD>
</TR>
<TR>
<TD align="center"><input type="button" name="btn" value=" 1 " onclick="fun('1');"></TD>
<TD align="center"><input type="button" name="btn" value=" 2 " onclick="fun('2');"></TD>
<TD align="center"><input type="button" name="btn" value=" 3 " onclick="fun('3');"></TD>
<TD align="center"><input type="button" name="btn" value=" * " onclick="fun('*');"></TD>
</TR>
<TR>
<TD align="center"><input type="button" name="btn" value=" 0 " onclick="fun('0');"></TD>
<TD align="center"><input type="button" name="btn" value=" = " onclick="count();"></TD>
<TD align="center"><input type="button" name="btn" value=" . " onclick="fun('.');"></TD>
<TD align="center"><input type="button" name="btn" value=" / " onclick="fun('/');"></TD>
</TR>
</TABLE>
</BODY>
</HTML>
shiwangxu
2010-07-14 · 超过25用户采纳过TA的回答
知道答主
回答量:196
采纳率:0%
帮助的人:69.2万
展开全部
<SCRIPT LANGUAGE="JavaScript">
<!--
var showFlag = false; //定义布尔型变量showFlag,初始值为false;
var paren = "";//定义字符串变量paren,初始值为空字符串;
function fun(cmd){ //定义方法fun,参数为cmd;
var obj = document.getElementById("txt");//定义对象obj,让它等于页面中文本框txt;
if(showFlag){ //如果showFlag为true;
obj.value = ""; //把控件obj的value属性设为空字符串;
paren = "";//变量paren的值设为空字符串;
showFlag = false;//把showFlag的值设为false;
}
paren = paren + cmd;//paren的值后加上cmd的值;
if(cmd=="0" || cmd=="1" || cmd=="2" || cmd=="3" || cmd=="4" || cmd=="5" || cmd=="6" || cmd=="7" || cmd=="8" || cmd=="9"){
//如果cmd的值为字符'0'或者'1'或者'2'或者'3'或者'4'或者'5'或者'6'或者'7'或者'8'或者'9',中的一个
obj.value = cmd; //把对象obj的value属性值,设为cmd的值
}
}

function count(){ //定义count方法
var obj = document.getElementById("txt"); //定义对象obj,让它等于页面中文本框txt;
try{
obj.value =eval(paren );//执行表达式paren,并把其值付给obj对象的value 属性
}catch(e){ //捕获异常

}
showFlag = true; //设置showFlag为true
}
//-->
</SCRIPT>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zzqkillyou
2010-07-14 · TA获得超过1091个赞
知道小有建树答主
回答量:942
采纳率:0%
帮助的人:746万
展开全部
首先,这个计算器bug太多,不能连续计算,不能2位数计算,就2个函数:

<SCRIPT LANGUAGE="JavaScript">
<!--
var showFlag = false;
var paren = "";
function fun(cmd){
var obj = document.getElementById("txt"); //取得文本值
if(showFlag){ //如果count()函数出错就把所有值重置
obj.value = "";
paren = "";//保存你点击的数字和运算符号
showFlag = false;
}
paren = paren + cmd;
if(cmd=="0" || cmd=="1" || cmd=="2" || cmd=="3" || cmd=="4" || cmd=="5" || cmd=="6" || cmd=="7" || cmd=="8" || cmd=="9"){
obj.value = cmd;
}
}

function count(){
var obj = document.getElementById("txt");
try{
obj.value =eval(paren ); //eval(paren )意思就是把paren的语句按照script函数执行,比如var aa = eval(3+5);alert(aa)就是8;
}catch(e){

}
showFlag = true; //出异常就标志showFlag 为true
}
//-->
</SCRIPT>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nyleng
2010-07-15
知道答主
回答量:44
采纳率:0%
帮助的人:33.4万
展开全部
//是否开始新的计算的标示位
var showFlag = false;
//存放一次计算的表达式
var paren = "";
function fun(cmd){
//获得文本框对象
var obj = document.getElementById("txt");
//开始新一次计算初始
if(showFlag){
obj.value = "";
paren = "";
//关闭标示位
showFlag = false;
}
//将点击输入的值拼接成字符串
paren = paren + cmd;
//文本框内显示当前点击数字
if(cmd=="0" || cmd=="1" || cmd=="2" || cmd=="3" || cmd=="4" || cmd=="5" || cmd=="6" || cmd=="7" || cmd=="8" || cmd=="9"){
obj.value = cmd;
}
}
//计算表达式
function count(){
var obj = document.getElementById("txt");
try{

obj.value =eval(paren );
}catch(e){

}
//一次计算结束
showFlag = true;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式