JS使用random随机数实现简单的四则算数验证

1.效果图

2.代码实现

index.html

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <input type="text" id="input" >
    <span id="num1"></span>
    <span id="op"></span>
    <span id="num2"></span>
    <span>=</span>
    <span id="sum">?</span>
    <button id="btn" onclick="sumbit()">提交</button>
    <script src="./js/index.js"></script>
</body>
</html>

index.js

javascript 复制代码
let num1_text = document.getElementById(`num1`)
let num2_text = document.getElementById(`num2`)
let sum_text = document.getElementById(`sum`)
let input = document.getElementById(`input`)
let op_text = document.getElementById(`op`)
let num1, num2, op
//生成随机数的方法
let rand = (min, max) => {//传入随机数范围
    result= parseInt((max-min+1)*Math.random()+min)//将结果转为整数
    return result //返回结果
}
//初始化方法
let init = () => {
    num1 = rand(1, 10)//生成一个1~10之间的随机数赋给num1
    num2 = rand(1, 10)//生成一个1~10之间的随机数赋给num2
    switch (rand(1, 4)) {//随机生成四则运算符
        case 1: op_text.textContent = `+`,op=`+`; break//当随机数为1为+,并将值赋给op
        case 2: op_text.textContent = `-`, op = `-`; break
        case 3: op_text.textContent = `*`, op = `*`; break
        case 4: op_text.textContent = `/`, op = `/`; break
    }
    num1_text.textContent = `${num1}`//将当前num1的值显示到前端对应的标签中
    num2_text.textContent = `${num2}`
}
//页面加载时先执行一次
init()
//声明一个点击事件的方法
let sumbit = () => {
    //根据上面随机到的op,num1,num2结合获取到前端输入框中的值进行判断
    if (op == `+`&& parseInt(input.value)==(num1+num2)) alert("验证成功")
    else if (op == `-` && parseInt(input.value) == (num1 - num2)) alert("验证成功")
    else if (op == `*` && parseInt(input.value) == (num1 * num2)) alert("验证成功")
    else if (op == `/` && parseInt(input.value) == parseInt(num1 / num2)) alert("验证成功")
    else alert("验证失败")
    //提交后再次初始化
    init()
}
相关推荐
浪浪小洋12 分钟前
c++ qt课设定制
开发语言·c++
charlie11451419121 分钟前
嵌入式C++工程实践第16篇:第四次重构 —— LED模板,从通用GPIO到专用抽象
c语言·开发语言·c++·驱动开发·嵌入式硬件·重构
故事和你9128 分钟前
洛谷-数据结构1-4-图的基本应用1
开发语言·数据结构·算法·深度优先·动态规划·图论
幺风1 小时前
Claude Code 源码分析 — Tool/MCP/Skill 可扩展工具系统
前端·javascript·ai编程
程序猿编码1 小时前
给你的网络流量穿件“隐形衣“:手把手教你用对称加密打造透明安全隧道
linux·开发语言·网络·安全·linux内核
ID_180079054732 小时前
淘宝 API 上货 / 商品搬家 业务场景实现 + JSON 返回示例
前端·javascript·json
M ? A2 小时前
Vue 动态组件在 React 中,VuReact 会如何实现?
前端·javascript·vue.js·经验分享·react.js·面试·vureact
aq55356002 小时前
编程语言三巨头:汇编、C++与PHP大比拼
java·开发语言
aq55356002 小时前
PHP vs Python:30秒看懂核心区别
开发语言·python·php
我是无敌小恐龙2 小时前
Java SE 零基础入门Day01 超详细笔记(开发前言+环境搭建+基础语法)
java·开发语言·人工智能·opencv·spring·机器学习