微信小程序计算器后后续
改的眼睛都要瞎了,总算是知道问题出哪了
最后一段 在等号里面计算输入的数组,这个判断的主要操作是将输入的数据的数组进行数和符号的拆分然后再计算,把数按字符串输入数组,然后将数和符号进行拆分 ,最后通过循环判断进行的计算,卡了两天的主要原因是optarr数组不能把arr的数组完好的传进去,明明应该是{“7”,“+”,“7”},莫名其妙的变成{“”,“7”,“”,“+”,“”,“7”},刚开始我还在考虑为什么空字符也能显示且不接受字符串连接,后来才发现是条件的范围控制错了
错的时候是这样 if(isNaN(arr[i]== false)|| arr[i]==this.data.dot){(arr[i]== false)|| arr[i]==this.data.dot){
原来应该是这样 if(isNaN(arr[i])== false|| arr[i]==this.data.dot){(arr[i])== false|| arr[i]==this.data.dot){
改完之后就顺利运行了,另外isNaN是判断是否为数字的,而不是是否为非法字符的,记错了,还有alert在微信小程序开发中用不了,记录一下。
else if(id==this.data.equal){//=
var data=this.data.screenData;
if(data=="0"){
return;
}
var lastWord=data.charAt(data.length);//判断一下末尾字符是否合法
if(isNaN(lastWord)){
return;
}
var arr=this.data.arr;
var num ="";
var optarr=[];
//console.log(arr); // 以上没问题
for(var i in arr){//判断小数点 连串
if(isNaN(arr[i])== false|| arr[i]==this.data.dot){
num = arr[i] + num;
}else{
optarr.push(num);
optarr.push(arr[i]);
num="";
}
}
console.log(optarr);
optarr.push(Number(num));
var result = Number(optarr[0]) * 1.0;
console.log(result);
for(var i=1;i<optarr.length;i++){//跳格对数进行+-*/
if(isNaN(optarr[i])){
if(optarr[1]==this.data.add){
result += Number(optarr[i+1]);
} else if (optarr[1] == this.data.minus) {
result -= Number(optarr[i + 1]);
} else if (optarr[1] == this.data.multiply) {
result *= Number(optarr[i + 1]);
}
else if (optarr[1] == this.data.divided) {
result /= Number(optarr[i + 1]);
}
}
}
console.log(result);
this.setData({"screenData":result+""});
this.data.arr.length=0;
this.data.arr.push(result);
}
微信小程序计算器后后续的更多相关文章
- 微信小程序计算器模拟后续
今天按着自己的思路又重打了一遍 wxml没什么说的,就是分块起名,显示数字和结果的作为屏幕,数字键盘一行四块 <view class="onTop"> <view ...
- 微信小程序计算器Bug版=-=(笔记)
微信小程序计算器BUG版本 无APPID的测试号登录,先在app.json中更改路径,以及修改头部信息. 首先一个输入框字段用{{screenData}} 功能可以退格,清屏,正负号,正常操作加减乘除 ...
- 微信小程序导航:官方工具+精品教程+DEMO集合(1月7更新)
1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=14764346784612:简易教程:https://mp.weixin.qq.com/debug ...
- wn-cli 像React组件开发一样来开发微信小程序
项目地址:wn-cli wn-cli wn-cli 像React组件开发一样来开发微信小程序 名字由来:wn -> weapp native 取第一个字母 Install npm install ...
- 你的产品适不适合做微信小程序?你需要这篇产品逻辑分析
自2017年1月9日张小龙宣布万众瞩目的“微信小程序”正式上线了.以名字看,感觉像是突出了“将你的程序接入微信”的意思. 我们此前分析过微信的功能迭代节奏:一般微信重要的功能规划周期,大约会在在9 ...
- 用微信小程序做H5游戏尝试
微信小程序发布后,公司虽然没有拿到第一批内测资格,但作为微信亲密合作伙伴,一定要第一时间去尝试啦.现在微信小程序刚发布还在测试阶段,可以说是1.0版本,所以框架和结构内容都还不多,相关的文档跟微信AP ...
- 《微信小程序七日谈》- 第七天:不要捡了芝麻丢了西瓜
<微信小程序七日谈>系列文章: 第一天:人生若只如初见: 第二天:你可能要抛弃原来的响应式开发思维: 第三天:玩转Page组件的生命周期: 第四天:页面路径最多五层?导航可以这么玩: 第五 ...
- 近期热门微信小程序demo源码下载汇总
近期微信小程序demo源码下载汇总,乃小程序学习分析必备素材!点击标题即可下载: 即速应用首发!原创!电商商场Demo 优质微信小程序推荐 -秀人美女图 图片下载.滑动翻页 微信小程序 - 新词 GE ...
- 微信小程序基本目录结构学习
今天我们就以firstdemo为例,介绍一下小程序的基本目录结构.当我们打开一个微信小程序项目后,点击进入“编辑”菜单,我们可以看到有以下5个文件/文件夹):pages文件夹,utils文件夹,全局文 ...
随机推荐
- swiper嵌套小demo(移动端触摸滑动插件)
swiper(移动端触摸滑动插件) tip:自己敲得Swiper 的小demo,可以复制粘贴看看效果哦. swiper的js包css包下链接地址 : https://github.com/Clear ...
- 关于STM32时钟系统
初学STM32,感觉最蛋疼的是它的时钟系统,每次看到它的那个时钟树就有点晕,虽然看了很多这方面的资料,甚至也已经写过很多STM32的模块代码,做过一些小项目,但一直还是对这一块模模糊糊,似懂非懂,所以 ...
- 解决web资源跨域请求问题
参考地址: http://my.oschina.net/lichaoqiang/blog/317823 在浏览器请求中,出现跨域访问资源的问题,我们肯定会遇到.如果跨域请求被阻止,有可能导致css.j ...
- Visual Studio 2017使用Asp.Net Core构建Angular4应用程序
文章转载请著名出处:http://www.cnblogs.com/smallprogram 你需要了解的名词 1. NodeJS,这是一个基于Chrome V8 JavaScript引擎构建的Java ...
- ffmpeg命令的使用
参考博客:https://www.cnblogs.com/wainiwann/p/4128154.html 但是红色网页总结的 “ffmpeg 用法” 非常全面. http://www.360doc. ...
- java八大数据类型
基本数据类型以值传递的方式进行传递,String以值传递的方式传递,其他的以地址的方式进行传递 分别是:byte short int long float double char boole ...
- IIS支持apk文件
随着智能手机的普及,越来越多的人使用手机上网,很多网站也应手机上网的需要推出了网站客户端,.apk文件就是安卓(Android)的应用程序后缀名,默认情况下,使用IIS作为Web服务器的无法下载此文件 ...
- WIN7搭建ASP站点
在WIN7配置IIS用于搭建ASP站点(非ASP.NET) ,仅安装.配置必要文件. 1.安装IIS管理工具,用于支持静态页面. 2.添加匿名访问权限. 搭建站点指定到特定文件夹,浏览静态页面会报如下 ...
- java框架之SpringBoot(1)-入门
简介 Spring Boot 用来简化 Spring 应用开发,约定大于配置,去繁从简,just run 就能创建一个独立的.产品级别的应用. 背景: J2EE 笨重的开发.繁多的配置.低下的开发效率 ...
- WxWidgets笔记
关于环境变量的配置:解压wxwidgets的压缩包之后要新建名为 WXWIN 的环境变量,变量的值为 解压得到的目录,不知为何要使用此环境变量 编译时使用的命令:mingw32-make -j1 -f ...