33岁转职者的前端笔记-DAY 22 成绩计算机练习笔记

流程

1.先观察画面,哪些值需要抓
2.抓HTML的值:
a.先宣告变数,变数就是抓HTML的值,也可以说变数取代HTML的值之後用变数做程序的处理。
例:const 变数名称 = document.getElementById(html id的值);

范例code如下:

// 成绩计算表单
const scoreForm = document.getElementById('scoreForm');
// 各科目分数输入框
const zhInput = document.getElementById('chineseScoreInput');
const enInput = document.getElementById('englishScoreInput');
const mathInput = document.getElementById('mathScoreInput');
// 报告显示区块
const reportDiv = document.getElementById('result');

3.抓form的值或按钮的值,去做监听,在想流程怎麽做
4.按照流程做:
a.取得各科目成绩:宣告变数去存入成绩,成绩数值要转换成数字才能做运算
b.计算总分:宣告加总变数等於三个成绩加起来
c.计算平均分数:宣告加总的成绩除以3
d.计算等级

scoreForm.addEventListener('submit', function (e) {
   // 防止表单重整画面
   e.preventDefault();
   console.log("表单被送出了");
   // 取得各科目成绩
   const zh = parseInt(zhInput.value),
         en = parseInt(enInput.value),
         math = parseInt(mathInput.value);

   // 计算总分
   const sum = zh +en + math;
   console.log("总分", sum);

   // TODO: 计算平均分数
   const avg = Math.round(sum / 3 * 100) / 100;
   console.log("avg",avg);
   
   // TODO: 计算等级
   // 平均分数 >= 90 为A+
   // 平均分数 >= 80 为A
   // 平均分数 >= 70 为B
   // 平均分数 >= 60 为C
   // 平均分数 < 60 为F。
   let gpa;
   let color = "secondary";
   if (avg >= 90) {
       gpa = "A+";
       color = "success";
   } else if (avg >= 80) {
       gpa = "A";
   } else if (avg >= 70) {
       gpa = "B";
   } else if (avg >= 60) {
       gpa = "C";
   } else {
       gpa = "F";
       color = "danger";
   }

   // TODO: 显示报告
   const report = `<div class="alert alert-${color}">
       国文: ${zh} <br>
       英文: ${en} <br>
       数学: ${math} <br>
       总分: ${sum} <br>
       平均分数: ${avg}
       总评: ${gpa}
   </div>`;
   reportDiv.innerHTML = report;

});

重点语法小笔记

e.preventDefault(); 防止表单重整画面
const avg = math.round(sum / 3 * 100) / 100; 四舍五入到小数点第二位


<<:  Day 10. 实实在在的实体 - Vue Instance

>>:  Day22 ( 高级 ) 猫咪万花筒

[DAY29]vue dr-vue-echarts 图表套件(下)

我们这次来继续做图表,让网页更漂亮。 此篇参考: 点我 折线图 这是折线图的基本架构,元件名称叫li...

RISC-V on Rust 从零开始(5) - RISC-V 指令集分析

有了基本档案架构後,开始动工指令的部分。RISC-V将指令分成数个子集,其中包括RV32I、RV32...

Day 2:Kotlin 程序设计基础入门 (1)

本篇文章同步发表在 HKT 线上教室 部落格,线上影音教学课程已上架至 Udemy 和 Youtu...

关於 物件(Object)与类别(class)

正在复习C#~(书 和影片 文章 看到头晕) 发现有些观念真的简单又不简单 一定要用自己的方式搞懂~...

JS 样板字面值 DAY75

这里先提供一篇 我之前介绍 样板字面值 的基础介绍 https://ithelp.ithome.co...