代码借鉴于讲师的课程代码编写 有待后期调整并学习

  1. function init(){
  2. var num = document.getElementById("num");
  3. num.value=0;
  4. num.disabled="disabled";
  5. var anJian = document.getElementsByTagName("input");
  6. var btn_num1;
  7. var fh;//定义的符号
  8. for(var i=0; i<anJian.length;i++){
  9. anJian[i].onclick=function(){
  10. if (isNumber(this.value)) {//判断通过按键传输的数值是否不是number类型
  11. //alert('111')
  12. //num.value=(num.value+this.value)*1
  13. if (isNull(num.value)) {//判断输入框中的内容是否为空或者是0
  14. num.value=this.value;
  15. } else{
  16. num.value=num.value+this.value;//满足条件的情况下输入框内容就可以相连显示
  17. }
  18. }else{
  19. var btn_num =this.value;
  20. // var btn_num1;
  21. switch(btn_num){
  22. case"+":
  23. //alert("111");
  24. //parseInt取整 在小数点运算的时候不能显示小数点
  25. //所以这里用number来使用
  26. btn_num1=Number(num.value);
  27. num.value=0;
  28. fh="+";
  29. break;
  30. case"-":
  31. btn_num1=Number(num.value);
  32. num.value=0;
  33. fh="-";
  34. break;
  35. case"*":
  36. btn_num1=Number(num.value);
  37. num.value=0;
  38. fh="*";
  39. break;
  40. case"/":
  41. btn_num1=Number(num.value);
  42. num.value=0;
  43. fh="/";
  44. break;
  45. case"←":
  46. num.value = back(num.value);
  47. break;
  48. case".":
  49. num.value=dec_number(num.value);
  50. break;
  51. case"C":
  52. num.value=0;//清屏直接将value值直接设置围殴0即可
  53. break;
  54. case"+/-":
  55. num.value = sign(num.value);
  56. break;
  57. case"=":
  58. switch(fh){//设置=符号设置与四则运算接收运算条件
  59. case"+":
  60. num.value=btn_num1+Number(num.value);
  61. console.log(btn_num1);
  62. break;
  63. case"-":
  64. num.value=btn_num1-Number(num.value);
  65. console.log(btn_num1);
  66. break;
  67. case"*":
  68. num.value=btn_num1*Number(num.value);
  69. console.log(btn_num1);
  70. break;
  71. case"/":
  72. if (Number(num.value)==0) {
  73. num.value==0;
  74. }else{
  75. num.value=btn_num1/Number(num.value);
  76. }
  77. break;
  78. }
  79. //alert("111");
  80. //num.value=btn_num1+parseInt(num.value);
  81. break;
  82. }
  83. }
  84. }
  85. }
  86. }
  87. //验证文本书否为空或者0
  88. function isNull(n){
  89. if (n=="0"||n.length==0) {
  90. return true;
  91. }else {
  92. return false;
  93. }
  94. }
  95. //小数点
  96. function dec_number(n){
  97. if(n.indexOf(".")==-1){//查找字符串位置
  98. n=n+".";
  99. }
  100. return n;
  101. }
  102. //退位建
  103. function back(n){
  104. n=n.substr(0,n.length-1);
  105. if(isNull(n)){
  106. n=0;
  107. }
  108. return n;
  109. }
  110. //正负号
  111. // function sign(n){
  112. // if (n.indexOf("-")==-1) {
  113. // n='-'+n;
  114. // }else{
  115. // n=n.substr(1,n.length);
  116. // }
  117. // return n;
  118. // }
  119. //正负号简化写法
  120. function sign(n){
  121. n=Number(n)*(-1);
  122. return n;
  123. }
  124. // function num_1_click(){
  125. // var num=document.getElementById("num");
  126. // var n = num.value;
  127. // n=n+"1";
  128. // document.getElementById("num").value=n*1;
  129. // }
  130. // function num_2_click(){
  131. // var num=document.getElementById("num");
  132. // var n = num.value;
  133. // n=n+"2";
  134. // document.getElementById("num").value=n*1;
  135. // }
  136. // function num_3_click(){
  137. // var num=document.getElementById("num");
  138. // var n = num.value;
  139. // n=n+"3";
  140. // document.getElementById("num").value=n*1;
  141. // }
  142. // var anjian = document.getElementsByTagName("input");
  143. // for(var i=0; i<anjian.length;i++){
  144. // anjian[i].onclick=function(){
  145. // //alert('111')
  146. // num.value=(num.value+this.value)*1
  147. // if (isNull(num.value)) {
  148. // num.value=this.value;
  149. // }
  150. // }
  151. // }
  152. //设置输入框只能位数字函数
  153. function isNumber(n){
  154. // isNaN() 不能转换为数字为true 可以转换为数字false
  155. // if (isNaN(n)==false) {
  156. // return true;
  157. // } else {
  158. // return false;
  159. // }
  160. return !isNaN(n);
  161. }
  162. //无用D标签设置链接网页等相关链接
  163. function init_dodoke(){
  164. document.getElementById("dodoke").onclick=function(){
  165. //window.location.herf="http://www.baidu.com";
  166. window.open("http://www.baidu.com","_self");
  167. //window.open在一个网站上打开另一个网站的效果默认—_blank
  168. //_self在网站中打开新的网站
  169. }
  170. }