现在是下午2点50分,眼睛和肩膀都有点酸,脑子有点木。
整理下做计算器的过程和结果:
1,表格布局按键和区域:
一个6行的表格。第一和第二行分别是两个type=“text”的<input>,宽度占据了四列的宽度,colspan="4",分别是输入和输出的显示行。第三行有两列,分别是清零和退位按键。给每个按键标记id和value.
2,脚本写的时候思路真的很重要,代码的逻辑块很凌乱,结构和可读性差,进入状态就得一会功夫啊。
2.1按照按键分类:
如果按下小数点,但输入中已经包含了一个小数点时,此时按键无效;
如果按下0,且之前无输入值时,此时按键无效,如果还有按键0一直按下,则按键仍无效;
如果输入值的长度过大,则按键无效;
如果按下小数点,但此前无输入值或输入值为0时,则存储当前输入值为"0.";
如果按下0,且输入值长度大于1时,则认为当前输入有效,依次存储到输入值中;
如果按下的1-9或.,则依次存储到输入中;
如果按下运算符号+-*/,将输入值转化成浮点型存储到number1中,并清空输入值,将当前的运算符号存储在mysi中;
如果按下=,将输入值转化成浮点型存储到number2中,并清空输入值,按照已存储的mysi的运算符号、number1,进行计算;
2.2
输入值、输出值的实时显示。
2.3
最后考虑清零键,退位键和输入输出建立关系,并完善。
3,多次测试,查bug。
结果:功能基本完成。
体会:2/3的时间是最后输入值和输出值的实时显示,真的有点不可思议。有可能是前面的部分功能已实现,沾沾自喜、盲目大意。一个特别清醒的状态做最后的完善真的很重要,这两天杂事多,状态不好。
最初的逻辑框架清晰简洁很重要,就像建筑物的根基。根基太浅,负重过大,代码很累赘。孔隙太小,塞砖头的地方太少,房子空间太小,太局限了。
最后的完善部分往往能画龙点睛、锦上添花,但是这点我真的做的不好。
善始善终,勉励自己。