B2B网络软件
标题:
展示JavaScript各种语句标识符的实际应用
[打印本页]
作者:
YYPOST群发软件
时间:
1 小时前
标题:
展示JavaScript各种语句标识符的实际应用
展示JavaScript各种语句标识符的实际应用
2.png
(1.41 MB, 下载次数: 0)
下载附件
1 小时前
上传
// JavaScript 语句标识符 - 学生成绩管理系统
// AIWROK软件 - 展示JavaScript各种语句标识符的实际应用
// 🍎交流QQ群711841924群一,苹果内测群,528816639
// 定义printl函数用于日志输出
function printl() {
var args = Array.prototype.slice.call(arguments);
var message = '';
for (var i = 0; i < args.length; i++) {
if (i > 0) {
message += ' ';
}
message += String(args[i]);
}
console.log(message);
}
// 1. var - 声明变量
var schoolName = "希望中学";
var maxStudents = 100;
var currentYear = 2026;
var passingGrade = 60;
var gradeScale = ["A", "B", "C", "D", "F"];
// 2. function - 定义函数
function calculateAverage(scores) {
if (scores.length === 0) return 0;
var sum = 0;
for (var i = 0; i < scores.length; i++) {
sum += scores[i];
}
return sum / scores.length;
}
function getLetterGrade(score) {
if (score >= 90) return "A";
else if (score >= 80) return "B";
else if (score >= 70) return "C";
else if (score >= 60) return "D";
else return "F";
}
// 3. if...else - 条件判断
function evaluateStudentPerformance(student) {
printl("--- 学生评估 ---");
if (student.average >= 90) {
printl("学生", student.name, "表现优秀!");
} else if (student.average >= 80) {
printl("学生", student.name, "表现良好");
} else if (student.average >= passingGrade) {
printl("学生", student.name, "达到及格线");
} else {
printl("学生", student.name, "需要额外帮助");
}
}
// 4. while - 循环处理
function processStudentsWhile(students) {
printl("使用while循环处理学生:");
var index = 0;
while (index < students.length) {
var student = students[index];
printl("处理学生:", student.name, "- 平均分:", student.average.toFixed(2));
index++;
}
}
// 5. do...while - 至少执行一次
function validateInput(value) {
printl("验证输入值:", value);
var isValid = false;
do {
if (typeof value === 'number' && value >= 0 && value <= 100) {
isValid = true;
printl("输入有效:", value);
} else {
printl("输入无效:", value, "- 必须是0-100之间的数字");
break; // 跳出do...while循环
}
} while (!isValid);
return isValid;
}
// 6. for - 遍历数组
function displayStudentGrades(students) {
printl("学生成绩列表:");
for (var i = 0; i < students.length; i++) {
var student = students[i];
var letterGrade = getLetterGrade(student.average);
printl((i + 1) + ". " + student.name + " - 平均分: " +
student.average.toFixed(2) + " - 等级: " + letterGrade);
}
}
// 7. for...in - 遍历对象属性
function showStudentDetails(student) {
printl("学生详细信息:");
for (var key in student) {
if (student.hasOwnProperty(key)) {
printl(key + ": " + student[key]);
}
}
}
// 8. break - 提前退出循环
function findTopStudent(students) {
printl("寻找最高分学生:");
var topStudent = null;
var highestScore = -1;
for (var i = 0; i < students.length; i++) {
if (students[i].average > highestScore) {
highestScore = students[i].average;
topStudent = students[i];
}
// 如果找到满分学生,立即退出
if (highestScore === 100) {
printl("找到满分学生,停止搜索");
break;
}
}
if (topStudent) {
printl("最高分学生:", topStudent.name, "- 分数:", highestScore);
}
return topStudent;
}
// 9. continue - 跳过特定迭代
function filterFailedStudents(students) {
printl("筛选不及格学生:");
var failedStudents = [];
for (var i = 0; i < students.length; i++) {
if (students[i].average >= passingGrade) {
continue; // 跳过及格的学生
}
failedStudents.push(students[i]);
printl("不及格学生:", students[i].name, "- 分数:", students[i].average.toFixed(2));
}
return failedStudents;
}
// 10. switch - 多分支选择
function assignAwardBasedOnGrade(letterGrade) {
printl("根据等级分配奖项:");
var award;
switch (letterGrade) {
case "A":
award = "校长特别奖";
break;
case "B":
award = "学术优秀奖";
break;
case "C":
award = "进步鼓励奖";
break;
case "D":
award = "学习努力奖";
break;
default:
award = "继续努力奖";
}
printl("等级", letterGrade, "获得:", award);
return award;
}
// 11. try...catch - 错误处理
function safeCalculateAverage(scores) {
printl("安全计算平均分:");
try {
if (!Array.isArray(scores)) {
throw new Error("参数必须是数组");
}
if (scores.length === 0) {
throw new Error("数组不能为空");
}
for (var i = 0; i < scores.length; i++) {
if (typeof scores[i] !== 'number') {
throw new Error("所有元素必须是数字");
}
}
var average = calculateAverage(scores);
printl("计算成功,平均分:", average.toFixed(2));
return average;
} catch (error) {
printl("计算出错:", error.message);
return null;
} finally {
printl("计算过程结束");
}
}
// 12. throw - 主动抛出错误
function validateStudentData(student) {
printl("验证学生数据:");
if (!student || typeof student !== 'object') {
throw new Error("学生数据必须是对象");
}
if (!student.name || typeof student.name !== 'string') {
throw new Error("学生姓名必须是字符串");
}
if (!Array.isArray(student.scores)) {
throw new Error("学生成绩必须是数组");
}
for (var i = 0; i < student.scores.length; i++) {
if (student.scores[i] < 0 || student.scores[i] > 100) {
throw new Error("成绩必须在0-100之间");
}
}
printl("学生数据验证通过");
return true;
}
// 综合示例:学生成绩管理系统
function studentManagementSystem() {
printl("=== 学生成绩管理系统 ===");
printl("学校:", schoolName, "- 年份:", currentYear);
// 创建学生数据
var students = [
{
name: "李明",
scores: [92, 88, 95, 90],
attendance: 98
},
{
name: "王芳",
scores: [78, 82, 75, 80],
attendance: 95
},
{
name: "张伟",
scores: [45, 52, 48, 55],
attendance: 85
},
{
name: "刘洋",
scores: [96, 94, 98, 92],
attendance: 100
}
];
// 为每个学生计算平均分
for (var i = 0; i < students.length; i++) {
students[i].average = calculateAverage(students[i].scores);
students[i].grade = getLetterGrade(students[i].average);
}
// 显示所有学生信息
sleep.second(2);
displayStudentGrades(students);
// 评估每个学生
sleep.second(2);
for (var j = 0; j < students.length; j++) {
evaluateStudentPerformance(students[j]);
}
// 寻找最高分学生
sleep.second(2);
var topStudent = findTopStudent(students);
// 筛选不及格学生
sleep.second(2);
var failedStudents = filterFailedStudents(students);
// 为优秀学生分配奖项
sleep.second(2);
if (topStudent) {
assignAwardBasedOnGrade(topStudent.grade);
}
// 错误处理示例
printl("--- 错误处理测试 ---");
sleep.second(2);
// 测试有效数据
safeCalculateAverage([85, 90, 78, 92]);
// 测试无效数据
safeCalculateAverage("not an array");
safeCalculateAverage([]);
safeCalculateAverage([85, "invalid", 90]);
// 数据验证测试
try {
validateStudentData({
name: "测试学生",
scores: [85, 90, 78]
});
} catch (error) {
printl("验证失败:", error.message);
}
// 统计信息
sleep.second(2);
printl("=== 系统统计 ===");
var totalStudents = students.length;
var passedCount = totalStudents - failedStudents.length;
var overallAverage = calculateAverage(students.map(function(s) { return s.average; }));
printl("总学生数:", totalStudents);
printl("及格人数:", passedCount);
printl("不及格人数:", failedStudents.length);
printl("全校平均分:", overallAverage.toFixed(2));
// 使用while循环显示详细统计
printl("各等级分布:");
var gradeCounts = {};
for (var k = 0; k < gradeScale.length; k++) {
gradeCounts[gradeScale[k]] = 0;
}
for (var l = 0; l < students.length; l++) {
gradeCounts[students[l].grade]++;
}
var m = 0;
while (m < gradeScale.length) {
var grade = gradeScale[m];
printl(grade + "级:", gradeCounts[grade], "人");
m++;
}
}
// 执行学生管理系统
sleep.second(2);
studentManagementSystem();
复制代码
3.png
(1.41 MB, 下载次数: 0)
下载附件
1 小时前
上传
欢迎光临 B2B网络软件 (http://bbs.niubt.cn/)
Powered by Discuz! X3.2