JavaScript实现Material Design计算器

造轮子是快速提高的方法之一。

准备工作

以为在花瓣上随便找了一张设计图就可以开工了,结果踩了大坑:(
这是我找的图,有没有发现什么不对劲?

没错,乘法x哪去了?我可是做完了才发现的。这种设计师应该被做成爆炒鱿鱼,为了更完美,无奈只好加了几个功能上去。

核心代码

计算器重在考虑多种错误输入的处理,由于我也是初学者,这里用switch来判断运算

function operator(type)
{
switch(type)
{
case "clear":
  input.value="0";
  _string.length=0;
break;
case "plus":
if(checknum(input.value)!=0)
{
_string.push(input.value);
_type="plus"
input.value="+";
input.name="type";
}
break;
case "minus":
if(checknum(input.value)!=0)
{
_string.push(input.value);
_type="minus"
input.value="-";
input.name="type";
}
break;

最终效果


完整源码
在线demo,仅限pc端