javascript-计算24
2016-07-27 21:37
696 查看
<html> <head> <title>计算24</title> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <style> body{ background-color:buttonface; } #tex_result { background-color:#6090DA; border:black solid 1px; color:white; font-weight:bold; height:20px; } </style> <script src="https://code.jquery.com/jquery-2.1.0.js"></script> <script type="text/javascript"> var v1,v2,v3,v4,v5,tex_result; //获取页面元素对象的引用 function $(str){ return (document.getElementById(str)); } //测试所有四则运算 function call(val1,val2,val3,val4){ theArray0 = new Array(val1,val2,val3,val4); theArray1 = new Array('1234','1243','1324','1342','1423','1432','2134','2143','2314','2341','2413','2431','3124','3142','3214','3241','3412','3421','4123','4132','4213','4231','4312','4321'); theArray2 = new Array('+','-','*','/'); a1 = parseInt(v5.value); for(var ii=0;ii<24;++ii){ theArray3 = theArray1[ii].split(''); for(var mm=0;mm<4;++mm){ theArray3[mm] = parseInt(theArray3[mm]); } for(var jj=0;jj<4;++jj){ for(var kk=0;kk<4;++kk){ for(var ll=0;ll<4;++ll){ ss1=theArray0[theArray3[0]-1]+theArray2[jj]+theArray0[theArray3[1]-1]+theArray2[kk]+theArray0[theArray3[2]-1]+theArray2[ll]+theArray0[theArray3[3]-1]; if(eval(ss1)==a1){ return (ss1); } ss1 = '('+theArray0[theArray3[0]-1]+theArray2[jj]+theArray0[theArray3[1]-1]+')'+theArray2[kk]+theArray0[theArray3[2]-1]+theArray2[ll]+theArray0[theArray3[3]-1]; if(eval(ss1)==a1){ return (ss1); } ss1 = theArray0[theArray3[0]-1]+theArray2[jj]+'('+theArray0[theArray3[1]-1]+theArray2[kk]+theArray0[theArray3[2]-1]+')'+theArray2[ll]+theArray0[theArray3[3]-1]; if(eval(ss1)==a1){ return (ss1); } ss1 = theArray0[theArray3[0]-1]+theArray2[jj]+theArray0[theArray3[1]-1]+theArray2[kk]+'('+theArray0[theArray3[2]-1]+theArray2[ll]+theArray0[theArray3[3]-1]+')'; if(eval(ss1)==a1){ return (ss1); } ss1 = '('+theArray0[theArray3[0]-1]+theArray2[jj]+theArray0[theArray3[1]-1]+theArray2[kk]+theArray0[theArray3[2]-1]+')'+theArray2[ll]+theArray0[theArray3[3]-1]; if(eval(ss1)==a1){ return (ss1); } ss1 = theArray0[theArray3[0]-1]+theArray2[jj]+'('+theArray0[theArray3[1]-1]+theArray2[kk]+theArray0[theArray3[2]-1]+theArray2[ll]+theArray0[theArray3[3]-1]+')'; if(eval(ss1)==a1){ return (ss1); } ss1 = '('+theArray0[theArray3[0]-1]+theArray2[jj]+theArray0[theArray3[1]-1]+')'+theArray2[kk]+'('+theArray0[theArray3[2]-1]+theArray2[ll]+theArray0[theArray3[3]-1]+')'; if(eval(ss1)==a1){ return (ss1); } } } } } return (false); } //接受页面输入,处理后输出 function main(){ var s1 = call(v1.value,v2.value,v3.value,v4.value); if(s1){ txt_result.innerText+='\n'+s1+'=='+v5.value; } else { txt_result.innerText+='\n'+v1.value+','+v2.value+','+v3.value+','+v4.value+'无结果!'; } init(); return false; } //检查用户输入是否符合要求 function check1(obj1){ if(isNaN(obj1.value)){ alert('请输入一个值!'); //是对象获得焦点并激发onfocus事件 obj1.focus(); //选择对象 obj1.select(); //该属性是设置或获取事件的返回值 event.returnValue=false; event.cancelBubble=true; return (false); } } //函数清空输出 function clear_input(){ txt_result.innerText=""; v1.focus(); return (true); } //初始化 function init(){ v1=$("v1"); v2=$("v2"); v3=$("v3"); v4=$("v4"); v5=$("v5"); txt_result=$("txt_result"); v1.select(); } </script> </head> <body style="overflow:auto;" onload="init();"> <form onsubmit="return(main());"> <input id="v1" onchange="check1(this);"> <input id="v2" onchange="check1(this);"><br> <input id="v3" onchange="check1(this);"> <input id="v4" onchange="check1(this);"><br> <b> 请输入要计算的四个数: </b><br> <input id="v5" onchange="check1(this);" value="24"><br> <input type="submit" value="计算"> <input type="reset" onclick="clear_input();" value="清除结果"> </form> <b>结果:</b><br> <div id="txt_result"></div> </body> </html>
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 最后一次说说闭包
- Ajax
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 设计模式---状态模式在web前端中的应用
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- Redux系列02:一个炒鸡简单的react+redux例子