javascript计算器代码教程

最近看了很多Vue.js的学习资料,由于仅仅停留在看上,这对萌新的提升显然是不利的,恰好刚折腾了两天Atom,又受各位大佬推荐vscode,所以正好来个双重实践!

为嘛会选择写个计算器?主要还是因为学Vue到现在最直观的感受就是双向绑定,写个XXX,绑定区域就显示XXX,感觉和计算器很配啊,当然还有次要的一点,我现在实际上是个卖石榴的,虽然石榴没有卖出去多少,但写个计算器然后用自己写的计算器算下账也是一种成就感啊!

javascript计算器代码教程

石榴


言归正传,萌新要开始边写代码边写文章了,看我能写到什么程度。

1、先来个构思,搞个框架,首先想来会用到Vue,jQuery,bootstrap,然后没了,有的话再补充。

javascript计算器代码教程

<!– 这是整个计算器 –>

<div id=”calculator”>

<!– 这是计算器的名字header –>

<div class=”header”>

</div>

<!– 这是计算器的显示屏幕 –>

<div class=”screen”>

</div>

<!– 这是计算器的按键部分–>

<div class=”key”>

</div>

</div>

2、我得把它搞得像个计算器的样子吧

随便写写,将就看吧

javascript计算器代码教程

真实样子是这样的

javascript计算器代码教程

哈哈,是不是很丑,但萌新水平就是这样的,不准笑!额,不对,居然没写“=”号

给她加个大点的“=”号

javascript计算器代码教程

然后然后应该开始写逻辑了,但该从哪里入手,请容萌新思考一番……..


三小时后

萌新的脑袋已经爆炸了,请容我先整理一下头绪……

萌新是这样想的,通过点击button绑定v-on:get(e)来获取每个按钮的值

javascript计算器代码教程

然后将每个按钮的值+num自身,然后赋给num返回

按R重置到时比较简单

javascript计算器代码教程

然后现在点击之后就是这个样子

javascript计算器代码教程

但是但是,这个玩意儿是一串字符串啊,它并不是数字,怎么可以做算术运算了?正如性别不同怎么谈恋爱啊?

我转念一想,它要不是字符串而是数字,我点一下5,再点一下6,那我该如何把它连起来变成56?想来想去我还是要把它变成字符串来操作!(希望这不是一个可笑的思维,要是真的可笑你们悄悄提醒我,别笑出声)

于是到这里萌新的思维开始分裂了

1、我干脆把这个字符串一直进行下去,等到点击“=”号的时候,再把字符串通过“+”、“-”这些来分割或者用正则(不知道正则有没有这个功能),然后把它转换成数字来进行运算。

感觉这样做的话逻辑上不复杂,但讲道理,计算器我点个5+6它应该直接给我一个11,我点个56它应该直接给我一个56,而我这个方法点5+6就会得到一个5+6,估计连计算器都要鄙视我了……

2、要做一个勉强配得上计算器这3个字的程序,那我应该在点击“+”这些按钮的时候做出反应,将前面的字符串转变为数字(float),然后再连上这个算术运算符

变成比如 num+

然后我再点击数字的话,我是不是该再来一个num1来存放它,等我再点击“+”、“=”这些的时候就直接做运算?

我顿时又想到万一我是这样点的 5+3*,这样的话我就不该先做运算了,小学老师告诉我们要先乘除后加减,于是乎我感觉我又要写一堆

if(我点的*&&/){

那我就不做运算,还要再准备一个num2来接受下面的数字

}else if(如果我点的是=){

那我就做运算}else{

我还是要做运算}

这样一来,本萌新就不知道要有多少个num了?于是萌新的头晕了

更悲惨的是我突然意识到,要是我开始就很2B的去点了“=”、“+”、“*”这些玩意儿,那又该是一副什么样悲惨世界啊,于是本萌新的头直接炸了


仔细想来本萌新还是太渣,让各位大佬贱笑了,容我休养一天继续奋战吧