蓝桥杯(Web大学组)2022国赛真题:用什么来做计算 A

判分标准

实现重置(AC)功能,得 1 分。

实现计算式子和结果显示功能,得 3 分。

实现计算功能,得 6 分。

应该按要求来就行吧,,一开始还在想是否要考虑小数点个数的问题还有式子是否有效......

笔记:
  1. 判断元素的id直接用.id
  2. 用**eval('string')**实现将字符串的式子进行计算
  3. 使用了Math.sqrt()
  4. 用replaceAll对字符串中字符进行替换

循环遍历也可以用事件委托

代码:
javascript 复制代码
// TODO:请补充代码


let formula = document.querySelector('#formula');
let result = document.querySelector('#result');
let btn = document.querySelectorAll('.calc-button');
btn.forEach((item,index)=>{
    item.addEventListener('click',()=>{
        //通过判断id显示

        //清空
        if(item.id==='reset'){     //重置       
            formula.value='';
            result.value = '';
        }
        else if(item.id === 'sqrt'){//'开方'
            // BUG: eval(formula.value)是在Math.sqrt里面!
            result.value = Math.sqrt(eval(formula.value))
        }
        else if(item.id==='equal'){//'='
            //用cont存放式子,将乘除符号转换,输出结果
            let cont = formula.value
            cont = cont.replaceAll('x','*');
            cont = cont.replaceAll('÷','/');
            result.value = eval(cont)
        }
        else{
            //更新显示框
            formula.value+=item.innerText;
        }

    })
})
相关推荐
勿芮介1 分钟前
【大模型应用】在window/linux上卸载OpenClaw
java·服务器·前端
摸鱼仙人~5 分钟前
前端面试手写核心 Cheat Sheet(终极精简版)
前端
馬致远21 分钟前
Win7 配置 Vue脚手架
javascript·vue.js·ecmascript
Ashley_Amanda24 分钟前
深入浅出Web Dynpro:SAP企业级Web应用开发全面解析
前端
方安乐27 分钟前
概念:前端工程化实践
前端
一见33 分钟前
WorkBuddy安装Skill的方法
android·java·javascript
kyriewen36 分钟前
Flexbox 完全指南:从此告别浮动,拥抱一维战神
前端·css·html
xChive37 分钟前
ECharts3D图表 | 3D柱状图和3D饼图实现思路
前端·3d·echarts
HookJames37 分钟前
解决Claude Code v2.1.74 官方找不到模型的问题-终结版
前端·chrome
代码煮茶39 分钟前
Vite 工程化实战 | 从 0 配置一个企业级前端项目(按需引入 / 环境变量 / 打包优化)
前端·vue.js