[js练习] 使用数组+Math数学对象 实现“中午吃什么“

本文介绍了如何使用JavaScript编写一个程序,根据设定的概率随机决定午餐吃什么。程序包含多种食物选项,如热干面、螺狮粉等,并通过Math.random()函数实现不同食物出现的不同概率,如一个月吃一次的特殊选项。代码中详细注释方便初学者理解。
摘要由CSDN通过智能技术生成

本人是初学者哈,如有错误敬请指正

因为每次到饭点都纠结吃什么,正好今天刚学了Math数学方法,索性就写出来一个随机决定吃饭的js程序.
内容-概率都可控的哦~
废话不多说,上代码

好多想说的话,标题不让说呜呜呜呜

html部分

<p id="tl">今天吃什么?</p>
    <div>
        <button id="start" onclick="start()">点击吃饭</button>
        <button id="stop" onclick="stop()" disabled="disabled">就是你了</button>
    </div>

css部分

p {
            font-size: 150px;
            text-align: center;
            font-weight: bold;
        }

        button {
            width: 150px;
            height: 75px;
            font-size: 24px;
        }

        div {
            width: fit-content;
            margin: 0 auto;
        }

js部分


<script>
    // 创建变量a,用来放入数组值
    var a;
    // 点击'点击吃饭'时 调用该函数,随机选择数组,禁用按钮stop,释放按钮start
    function start() {
        var select = [
            '热干面',//0
            '螺狮粉',//1
            '泡面',//2
            '米饭',//3
            '重庆小面',//4
            '点外卖',//5  以上0-5之间概率为 1/6
            "锤子", //6  一个月吃一次,概率为1/30
            "火锅",//7  一个月吃一次,概率为1/30
            "炖排骨汤",//8  两星期吃一次,概率为1/15
            "吃一个江涛",//9  概率1/100
        ];
        //round 四舍五入 random 随机函数


        // [0-29]的区间 1/30的几率取到
        if (Math.round(Math.random() * 29) == 1) {
            a = 6;
            // [0-29]的区间 1/30的几率取到
        } else if (Math.round(Math.random() * 29) == 1) {
            a = 7;
            // [0-14]的区间 1/15的几率取到
        } else if (Math.round(Math.random() * 14) == 1) {
            a = 8;
            // [0-99]的区间 1/100的几率取到
        } else if (Math.round(Math.random() * 99) == 1) {
            a = 9;
            // [0-1]区间 1/2的几率取到
        } else if (Math.round(Math.random() * 1) == 1) {
            a = 3;
            // [0-5]之间 每种1/6的几率取到
        } else {
            a = Math.round(Math.random() * 6);

        }

        // tl 用来输出数值
        document.getElementById('tl').innerHTML = select[a];// 把数组a,改成文字显示,select
        // 数据变换的速度,毫秒单位 setTimeout('调用的函数名',毫秒单位)
        id = window.setTimeout('start()', 1);
        // 初始 禁用按钮 '点击吃饭'
        document.getElementById("start").disabled = "disabled";
        // 点击 释放按钮 '就是你了'
        document.getElementById("stop").disabled = "";
    }
    // 点击'就是你了'时 调用该函数,禁用按钮stop,释放按钮start
    function stop() {
        window.clearTimeout(id);
        // 禁用'就是你了'
        document.getElementById("stop").disabled = "disabled";
        // 释放点击吃饭
        document.getElementById("start").disabled = "";
    }

</script>

来看看效果 // 另外,数据刷新速度也是可变的

今天吃什么
第一次发文章,鄙人习惯写注释很详细,方便大家阅读
更希望很多像我一样的小白,努力加油!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值