ImageVerifierCode 换一换
格式:DOC , 页数:13 ,大小:147KB ,
资源ID:8803650      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/8803650.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(JavaScript计算器(包含累计与显示功能).doc)为本站上传会员【s4****5z】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

JavaScript计算器(包含累计与显示功能).doc

1、计算器的逻辑对于新手而言比较复杂!新手学习JavaScript,很多代码重用,有很强的改进空间,不过这很适合新手,注释比较全面(基本上每句代码后都有注释); 首先是js部分(3.js) var num=0,result=0,numshow="0"; var operate=0; //判断输入状态的标志 var calcul=0; //判断计算状态的标志 var quit=0; //防止重复按键的标志 var zer

2、o_pd; //"0"判断防止重复按"0" var end_num = "undefined"; //保留最后一个出现的值 var ljs_num; //累加数 var fh_str; //最后的 符号 //数字的输入 function command(num){ var str=String(document.calculator.numScreen.value); //获得当前显示数据 var str1=

3、String(document.calculator.onshow.value); str=(str!="0") ? ((operate==0) ? str : "") : ""; //如果当前值不是"0",且状态为0,则返回当前值,否则返回空值; str=str + String(num); //给当前值追加字符 document.calculator.numScreen.value=str; //刷新显示

4、 operate=0; //重置输入状态 quit=0; //重置防止重复按键的标志 document.getElementById("textShow").value += num; //写入显示框textShow splitLastNum(document.calculator.onshow.value);

5、 //用于更新累加数(ljs_num) } //双"00"的输入 function dzero(){ var str1=String(document.calculator.onshow.value); //获取显示框的值 var str=String(document.calculator.numScreen.value); //获取当前(numshow)显示的值 str=(str!="0") ? ((operate==0) ? str + "00" : "0") : "0"; //如果当前值不是"0",且状态为0,

6、则返回当str+"00",否则返回"0"; document.calculator.numScreen.value=str; //更新numshow的值 str=str+"00"; //刷新显示 operate=0; //重置操作 quit=0;

7、 //重置按键操作 if(str1 && typeof(str1)!="undefined" && str1!=0){ //判断显示栏是否有值 var array = str1.split(fh_str); //用最后保留的符号拆分成数组 if(array!=null && array.length > 0){ //取数组的最后一个子字符串 zero_pd= array[array.length-1];

8、 var str3=zero_pd.split(""); //将子字符串拆分成字符 for(i=0;i

9、 if(str3[i]=="."||str3[i].match(re)!=null){ //判断str3中是否存在数字或者"." document.getElementById("textShow").value += "00"; //文本框(textshow)中加入"00" splitLastNum(document.calculator.onshow.value); //将

10、值加入累加数并刷新 break; } } } } } //"0"输入 function zero(){ var str1=String(document.calculator.onshow.value); //获取文本框字符串 var str=String(document.calculator.numScreen.value); //获取numshow的值 str=(str

11、"0") ? ((operate==0) ? str + "0" : "0") : "0"; //如果当前值不是"0",且状态为0,则返回当str+"00",否则返回"0"; document.calculator.numScreen.value=str; //刷新值 str=str+"0"; operate=0; //重置操作 quit=0; if(str1 && t

12、ypeof(str1)!="undefined"){ //判断是否显示框有值 //if(str1 && typeof(str1)!="undefined" && str1!=0){ var array = str1.split(fh_str); //获取最后保留的符号 if(array!=null && array.length > 0){ zero_pd= array[array.length-1]

13、 //获取最后一个子字符串 var str3=zero_pd.split(""); //拆分子字符串 for(i=0;i

14、 if(str3[i]=="."||str3[i].match(re)!=null){ //是数字和"." document.getElementById("textShow").value += "0"; //textshow+"0" splitLastNum(document.calculator.onshow.value);

15、 break; } } } } } //"."输入 function dot(){ var str=String(document.calculator.numScreen.value); str=(str!="0") ? ((operate==0) ? str : "0") : "0"; //如果当前值不是"0",且状态为0,则返回当前值,否则返回"0"; for(i=0; i<=str.len

16、gth;i++){ //判断是否已经有一个点号 if(str.substr(i,1)==".") return false; //如果有则不再插入 } str=str + "."; //更新数据 document.calculator.numScreen.value=str; operate=0;

17、 //重置操作 var str1=String(document.calculator.onshow.value); //获取显示框的值 if(str1 && typeof(str1)!="undefined" && str1!==""){ //判断显示框是否有值 var str2=str1.split(""); //将str1拆分为若干字符 var st

18、r3=str2[str2.length-1]; //获取最后一个字符 var type= "^-?\\d+$"; //数字的正则表达式 var re = new RegExp(type); //匹配 if(str3.match(re)!=null){ //匹配结果不为空 documen

19、t.getElementById("textShow").value += "."; //显示框输入"." }else{ document.getElementById("textShow").value += "0."; //显示框输入"0." } }else if(str1==""){ //str1为空 document.getElementById("textShow").valu

20、e += "0."; //显示框输入"0." } } //退格符号 function del(){ var str1=String(document.calculator.onshow.value); //获取显示框的值 var str2=str1.substr(str1.length-1,1); //取出显示框最后一个字符 // var type = /^[0-9]*[1-9][0-9]*$/;

21、 //正整数的正则表达式 var type= "^-?\\d+$"; //整数的正则表达式 var re = new RegExp(type); //匹配 if(str2.match(re)!=null){ //匹配值不为空 var str=String(document.

22、calculator.numScreen.value); //获取numshow的值 str=(str!="0") ? str : ""; //三目运算, str=str.substr(0,str.length-1); //获取原字符串除最后一个字符的所有字符 str=(str!="") ? str : "0"; //

23、三目运算 str1=str1.substr(0,str1.length-1); //获取原字符串除最后一位的所有字符 document.calculator.numScreen.value=str; //更新显示 document.calculator.onshow.value=str1; }else{

24、 document.getElementById("note").innerHTML="该操作不能退格!"; setTimeout(clearnote,4000) //提示 } } //清除数据(重置所有值与操作) function clearscreen(){ num=0; result=0; numshow="0"; ljs_num=0; fh_str="";

25、 end_num="undefined"; document.calculator.numScreen.value="0"; document.calculator.onshow.value=""; } //加法运算 function plus(){ if(yn()){ calculate(); //调用计算函数 } operate=1;

26、 //更改输入状态 calcul=1; //更改计算状态为加 fh_str = "+"; //符号 document.getElementById("textShow").value += "+"; //显示框添加"+" } //减法运算 function minus(){ if(yn()){ calculate();

27、 //调用计算函数 } fh_str = "-"; operate=1; calcul=2; document.getElementById("textShow").value += "-"; } //乘法运算 function times(){ //乘法 if(yn()){ calculate(); //调用计算函数 } fh_str = "*";

28、 operate=1; calcul=3; document.getElementById("textShow").value += "*"; } //除法运算 function divide(){ //除法 if(yn()){ calculate(); //调用计算函数 } fh_str = "/";; operate=1; calcul=4; do

29、cument.getElementById("textShow").value += "/"; } //求余运算 function persent(){ //求余 if(yn()){ calculate(); //调用计算函数 } fh_str = "%"; operate=1; calcul=5; document.getElementById("textShow").value += "%"; }

30、 //等号 function equal(){ calculate(); //等于 operate=1; end_num=num; num=0; result=0; numshow="0"; document.calculator.onshow.value=""; } //计算 function calculate(){

31、 numshow=Number(document.calculator.numScreen.value); if(num!=0 && quit!=1){ //判断前一个运算数是否为零以及防重复按键的状态 switch(calcul){ //判断要输入状态 case 1:result=num+numshow;break; //计算"+"

32、 case 2:result=num-numshow;break; //计算"-" case 3:result=num*numshow;break; //计算"*" case 4:if(numshow!=0){result=num/numshow;}else{document.getElementById("note").innerHTML="被除数不能为零!"; setTimeout(clearnote,4000)} break;

33、 case 5:result=num%numshow;break; //计算"%" } quit=1; //避免重复按键 }else{ if(end_num !="undefined"){ result=end_num; }else{ result=numshow; } if(ljs_num &&

34、typeof(ljs_num)!="undefined"){ // if(ljs_num && typeof(ljs_num)!="undefined" && ljs_num!=0){ switch(fh_str){ //判断要输入状态 case "+":result=Number(ljs_num)+end_num;break; //计算"+" case "-":result=end_num-Number(ljs_num);break; //计算"-" ca

35、se "*":result=Number(ljs_num)*end_num;break; case "/":if(numshow!=0){result=end_num/Number(ljs_num);}else{document.getElementById("note").innerHTML="被除数不能为零!"; setTimeout(clearnote,4000)} break; case "%":document.getElementById("note").innerHTML="不能进行连续模运算!"; se

36、tTimeout(clearnote,4000) break; } } } numshow=String(result); document.calculator.numScreen.value=numshow; num=result; //存储当前值 } //提示 function clearnote(){ document.getElementById("note").inn

37、erHTML=""; } //判断符号输入 function yn(){ var str1=String(document.calculator.onshow.value); //获取显示框的值 var str2=str1.substr(str1.length-1); //取最后一位字符 var type= "^-?\\d+$"; //整数的正则表达式 var re = new RegExp(type);

38、 //匹配 if(str2.match(re)!=null||str2=="."){ //匹配结果不为空或者为"." var quit=0; //重置数据 numshow="0"; ljs_num=0; fh_str=""; end_num="undefined"; if(str2=="."){

39、 //若为"." str1=str1.substr(0,str1.length-1); //退格 document.calculator.onshow.value=str1; //更新显示框的值 } document.calculator.onshow.value=str1; //更新显示框的值 return true; }else if(str2==""){

40、 //若为空 end_num=(end_num=="undefined")? 0:end_num; //三目运算给end_num赋值 document.calculator.onshow.value=end_num; //给显示框赋值 return false; } else{ str1=str1.substr(0,str1.length-1); //取除最后一位的所有字符串

41、 document.calculator.onshow.value=str1; //赋值 return false; } } //累加数的确定 function splitLastNum(value){ if(value && typeof(value)!="undefined" && value!=0){ //判断显示框是否有值 var array = value.split(fh_str); //通过最后的符号拆分显示框字符串为数组 for(va

42、r i = 0; i < array.length; i++) { //若没有数组 if(array[i].length == 0) array.splice(i,1); } if(array!=null && array.length > 0){ //若有数组 if(array.length>1){ ljs_num = array[array.length - 1]; //取最后一个 }else{

43、 var str1=String(document.calculator.onshow.value); //赋值给显示框 var str2=str1.charAt(0); //去最后一位字符 var type= "^-?\\d+$"; //整数的正则表达式 var re = new RegExp(type); if(str2.match(re)!=null){

44、 //若匹配值不为空 ljs_num=0; }else{ ljs_num=end_num; } } } } } 其次是html部分(jsq.html)

45、 jsq.html