当前位置: 首页 > wzjs >正文

cms代码做网站石家庄最新疫情

cms代码做网站,石家庄最新疫情,杭州房产网 官方,做网站用哪个eclipse🎯 项目目标: 实现一个能进行基本四则运算(加减乘除)的网页计算器,用户输入两个数,通过点击按钮计算结果。 🛠️ 实现步骤参考: 获取两个输入框和按钮、结果区域 点击按钮时获取输…

🎯 项目目标:

实现一个能进行基本四则运算(加减乘除)的网页计算器,用户输入两个数,通过点击按钮计算结果。

🛠️ 实现步骤参考:

  • 获取两个输入框和按钮、结果区域

  • 点击按钮时获取输入的值,并转为数字

  • 判断是否为有效数字

  • 输出两个数的计算结果

💡 要点讲解

  • input.value 是字符串,记得用 Number()parseFloat() 转换为数字;

  • NaN(不是数字)判断可以用 isNaN()

  • 输出前先清空结果区域。

HTML 部分结构(简化版):  

<input id="number1" placeholder="输入第一个数字">
<input id="number2" placeholder="输入第二个数字">
<button id="addBtn">加</button>
<button id="subtractbBtn">减</button>
<button id="multiplicationBtn">乘</button>
<button id="divisionBtn">除</button>
<p id="result"></p>

初版JavaScript 功能实现:

const number1 = document.getElementById('number1')
const number2 = document.getElementById('number2')
const addBtn = document.getElementById('addBtn')
const subtractbBtn = document.getElementById('subtractbBtn')
const multiplicationBtn = document.getElementById('multiplicationBtn')
const divisionBtn = document.getElementById('divisionBtn')
const result = document.getElementById('result')const calculate = (action) => {let resultNum = 0if (!number1.value.trim() || !number2.value.trim()) {alert("输入不能为空!")return}if (isNaN(Number(number1.value)) || isNaN(Number(number2.value))) {alert("请输入有效数字!")return}switch (action) {case 'add':resultNum = Number(number1.value) + Number(number2.value)breakcase 'subtractb':resultNum = Number(number1.value) - Number(number2.value)breakcase 'multiplication':resultNum = Number(number1.value) * Number(number2.value)breakcase 'division':resultNum = Number(number1.value) / Number(number2.value)break}return resultNum
}// 为每个按钮添加监听
addBtn.addEventListener('click', () => {result.textContent = `结果是:${calculate('add')}`
})subtractbBtn.addEventListener('click', () => {result.textContent = `结果是:${calculate('subtractb')}`
})multiplicationBtn.addEventListener('click', () => {result.textContent = `结果是:${calculate('multiplication')}`
})divisionBtn.addEventListener('click', () => {result.textContent = `结果是:${calculate('division')}`
})

Q:为什么要用 Number() 转换输入值?
A:因为 input.value 是字符串,直接加法会导致字符串拼接,比如 "2" + "3" 得到 "23",必须转换为数字才会进行加法。

页面效果展示 : 

 

❗遇到的问题和解决过程

🧩 问题1:return 了为什么还显示结果?

 这是因为 calculate 函数中虽然 return 了,但你仍然调用了 result.textContent = ...,哪怕返回的是 undefined,也会执行这一句。理解为:

result.textContent = `结果是:${undefined}`

解决方法:可以让 calculate 返回 undefined,调用后判断:

const res = calculate('add')
if (res !== undefined) {result.textContent = `结果是:${res}`
}

🧩 问题2:四个按钮分别写监听器会不会太重复?

这种写法虽然重复,但清晰易读,对初学非常友好。后期可以优化为事件委托方式(如下),但不是必须要改。

✅ 使用事件委托 + data-action 简化监听逻辑 

  • 事件委托,不再为每个按钮绑定事件,而是利用 事件冒泡,只监听一次就能捕捉所有子元素(按钮)的点击行为。
  • data-action 是一种 自定义 HTML 属性,叫做 data 属性(data-* attributes)。它的作用是:给 HTML 元素“打标签”,存储我们需要用到的额外信息。在 JavaScript 中,可以通过 .dataset.action 读取这个值。

HTML 部分结构(优化后):

<div id="btnGroup"><button data-action="add">加</button><button data-action="subtractb">减</button><button data-action="multiplication">乘</button><button data-action="division">除</button>
</div>

 优化后监听器的JavaScript 代码:

document.getElementById('btnGroup').addEventListener('click', (e) => {// 判断,确保用户点击的是按钮if (e.target.tagName === 'BUTTON') {const action = e.target.dataset.actionconst res = calculate(action)if (res !== undefined) {result.textContent = `结果是:${res}`}}
})
http://www.dtcms.com/wzjs/55673.html

相关文章:

  • 网站建设后怎么百度搜索引擎的网址
  • 类似淘宝商城网站建设方案潍坊网站seo
  • 网站截流做cpa百度2018旧版下载
  • 湖南建设工程竣工备案表查询网站外贸seo建站
  • 视频网站自己做服务器seo优化排名价格
  • 深圳制作网站公司哪里好精准推广的渠道有哪些
  • 平江高端网站建设618网络营销策划方案
  • 域名对行业网站的作用淘宝店铺推广方法
  • 网站文章采集深圳新闻最新事件
  • 广州好的网站建设河南网站seo靠谱
  • 企业建立网站的原因公司如何在百度宣传
  • 广州天河做网站2022年新闻热点事件
  • 在线直播网站怎么做今日热点新闻2022
  • 优良的定制网站建设制作商百度网络电话
  • 西宁做网站公司哪家好网站怎么才能被百度收录
  • 公司做网站一般多少钱运营廊坊seo整站优化
  • 做鱫视频网站seo设置是什么
  • 域名抢注网站建设app营销推广方案
  • 网站前端建设都需要什么2345浏览器主页网址
  • html静态网站下载游戏代理平台
  • 义乌做网站的电话广告公司排名
  • oto电子商务网站建设西安推广平台排行榜
  • 上海平台网站建设哪家好如何引流被动加好友微信
  • 东莞网络推广外包超级优化大师
  • 营口网站建设哪家好软文推广的好处
  • wordpress网赚郑州优化网站公司
  • 做网站的公司深刷百度关键词排名优化
  • 门户网站建设对策及建议各种推广平台
  • 苏州网站建设的公司百度收录申请
  • 怎么做seo信息优化seo产品优化免费软件