2021-11-11、在js中定义函数以及页面列表渲染

2021-11-13  本文已影响0人  疋瓞

1、案例分析

案例描述.jpg

2、制作流程:

2.1、代码实现:

wxml:

<view class="box">
    <view class="title">随机数求和</view>
    <view>产生的随机数为:</view>
    <view wx:for="{{rand}}" wx:key="*this">{{item}}</view>
    <view>随机数列的和:{{sum}}</view>
    <button bindtap="produce" type="primary">产生随机数且求和</button>
</view>

js:

var sum = 0;
var rand = [];
function makeRandom(){
    for(var i = 0;i < 3;i++){
        rand[i] = (Math.random() * 100).toFixed(2)*1;
        sum += rand[i];
        console.log(rand[i])
    }
    console.log(sum)
}
Page({
    data:{

    },
    produce:function(){
        sum = 0;
        makeRandom();
        this.setData({
            rand : rand,
            sum : sum
        })
    }
})

2.2、结果展示:

结果展示.jpg

3、知识总结:

知识点概述.jpg js中对象的概念.jpg array对象属性或方法.jpg array对象属性或方法.jpg number对象属性或方法.jpg
number对象属性或方法.jpg

4、踩坑说明:

//错误代码:导致列表为空,错误原因Math.random后没加()
var sum = 0;
var rand = [];
function makeRandom(){
    for(var i = 0;i < 6;i++){
        rand[i] = parseFloat((Math.random * 100).toFixed(2));
        sum += rand[i];
        console.log(sum)
    }
}
//第一次修正后的代码:会导致打印出的sum小数点位数过多。未知原因,偶尔发生。
var sum = 0;
var rand = [];
function makeRandom(){
    for(var i = 0;i < 6;i++){
        rand[i] = parseFloat((Math.random() * 100).toFixed(2));
        sum += rand[i];
        console.log(sum)
    }
}
//第二次修正后的代码:会导致打印出的sum小数点位数过多。未知原因,偶尔发生。
var sum = 0;
var rand = [];
function makeRandom(){
    for(var i = 0;i < 6;i++){
        rand[i] = (Math.random() * 100).toFixed(2)*1;
        sum += rand[i];
        console.log(rand[i])
    }
    console.log(sum)
}

上一篇下一篇

猜你喜欢

热点阅读