<!--pages/index.wxml--> <view class="box"> <view class='title'>阶乘计算器</view> <input type='number' bindinput='getInput' placeholder='请输入要求阶乘的数'></input> <text>结果为:{{result}}</text> </view>
/* pages/index.wxss */ input { border-bottom: 3px solid blue; height: 40px; width: 200px; margin: 20px 0; }
Page({ getInput: function (e) {//bindinput事件引发的函数 this.inputVal = e.detail.value //定义对象属性并把输入框数据赋值给它 }, onShow: function() { //生命周期函数,小程序界面显示时调用 var that = this;//回调函数中需要引用this,但回调函数中引用this容易引起一些错误,所以把this提前赋值给临时定义的变量that that.isShow = true; //定义对象属性并赋值 wx.onAccelerometerChange(function(e) { //调用加速度改变函数 if (!that.isShow) { //判断小程序界面是否显示 return } if (e.x > 0.5 || e.y > 0.5 || e.z > 0.5) { //判断手机晃动是否达到一定程度 wx.showToast({ //显示消息框 title: '摇一摇成功', //消息框标题 icon: 'success', //消息框图标 duration: 2000 //消息框存在的时间 }) var result = 1; for (var i = 1; i <= that.inputVal; i++) { //计算阶乘 result = result * i } that.setData({//result的值渲染到wxml里去 result: result }) } }) }, onHide: function() { //屏幕隐藏时调用 this.isShow = false; }, })
计算阶乘的算法
阶乘的计算公式为𝑛!=1×2×3×∙∙∙×n,因此可以利用for循环计算阶乘,假设循环变量为i,则i的范围是1~n。
监听加速度事件变化API函数的使用方法
显示消息提示框API函数的使用方法