(原程序位于 https://jsrun.net/aAcKp )
JavaScript代码部分是一个该程序的核心代码,主要包含以下几个函数:
clean()
:该函数调用了一个名为breast.reset()
的函数,在此处用于重置输入框等界面元素。tdisoper(f0,f1,f2,f3)
:该函数定义了一个名为tdisoper
的类型,并初始化了一个名为disoper
的全局变量对象,其中disoper
对象的属性值分别对应字符串"-", "+", "/", "*"
,用于表示四则运算中的减法、加法、除法和乘法。oper(f,m,n)
:该函数接受三个参数,f
表示某种运算类型所对应的索引值,m
和n
表示做运算的两个数的值(可能是字符串或者数字)。函数内部根据f
的值进行相应的运算(减法、加法、除法和乘法)并返回结果。tb(i1,i2,i4,i8)
:该函数定义了一个名为tb
的类型,并初始化了一个b
对象。该对象中的属性值对应着四个输入框中用户键入的数字(将数字拆分成二进制形式后存储)。例如,若第一个输入框中的值为“6”,则将其转换为二进制即“0110”,将第1位和第2位分别存储到b[1]
和b[2]
中。这样将数字拆分为二进制的目的是后续运算时方便按位读取数字。valid(F)
:该函数接受一个表单对象F
,并对用户输入的四个数字进行合法性检查。若某个输入框中的值不是非负整数,则函数会弹出一个警告提示框,并让用户重新输入正确格式的数字。函数还会根据用户输入的数字,使用tb()
函数生成一个名为b
的对象,用于存储四个数字(以二进制位的形式存储)。newin(s,target,ww,hh)
:该函数用于打开一个新的浏览器窗口,并在该窗口中访问指定URL,其中参数s
表示要访问的URL地址,target
表示打开窗口的方式(是在当前标签页中打开还是新开一个标签页),ww
和hh
则表示窗口的宽度和高度。最后,还有一个onclick
事件处理函数调用了上述所有函数。当用户点击网页中的“计算”按钮时,该事件处理函数会执行一系列计算过程,并将结果输出到界面中的文本框中,最终显示一个“完成!”的提示。