JS自定义对象以及相关成绩系统完整案例演示
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
/*
*/
var classes = {
//先声明一个classes类
className : "HTML5-1705",
studentCount : 27,
students : [
{name:"张三",sex:"女",chinese:20,maths:30,english:80,sum:90},
{name:"李四",sex:"女",chinese:80,maths:65,english:85,sum:75},
{name:"王五",sex:"男",chinese:68,maths:48,english:75,sum:94}
],
addStudent : function(){
//添加学生信息的行为
var name = prompt("请输入学员姓名:");
var sex = prompt("请输入学员性别:");
var chinese = parseFloat(prompt("请输入学员语文成绩:"));
var maths = parseFloat(prompt("请输入学员数学成绩:"));
var english = parseFloat(prompt("请输入学员英语成绩:"));
var sum = chinese + maths + english;
var student = {
name : name,
sex : sex,
chinese : chinese,
maths : maths,
english : english,
sum : sum
}
this.students.push(student);
this.students.sort(function(a,b){
return b.sum - a.sum;
});
},
showStudent : function(){
//显示学生信息的行为
var arr = this.students;
console.log("\tHTML5-1705班成绩展示");
console.log("序号\t姓名\t性别\t语文\t数学\t英语\t总分");
arr.sort(function(a,b){
return b.sum - a.sum;
});
arr.forEach(function(item,index){
console.log((index+1)+"\t\t"+item.name+"\t"+item.sex+"\t\t"+item.chinese+"\t\t"+item.maths+"\t\t"+item.english+"\t\t"+item.sum);
})
},
delStudent : function(){
//删除学生信息的行为
if(this.students.length<=0) {
alert("没有学员数据,无法删除!");
return;
}
var no = prompt("请输入要删除的学员序号:");
if(no<1 || no> this.students.length){
alert("序号输入有误!请确认学员序号重新输入!");
return;
}
this.students.splice(no-1,1);
},
searchStudent : function(){
//查询学生信息的行为
var no = prompt("请输入要查询的学员序号:");
var arr = this.students;
if(no<1 || no > arr.length){
alert("查无此人!请确认序号!");
}else{
console.log("查询完成!查询到学员信息如下:");
console.log("序号\t姓名\t性别\t语文\t数学\t英语\t总分");
console.log(no+"\t\t"+arr[no-1].name+"\t"+arr[no-1].sex+"\t\t"+arr[no-1].chinese+"\t\t"+arr[no-1].maths+"\t\t"+arr[no-1].english+"\t\t"+arr[no-1].sum);
}
},
updateStudent : function(){
//修改学生信息的行为
if(this.students.length<=0) {
alert("没有学员数据,无法修改!");
return;
}
var no = prompt("请输入要修改的学员序号:");
if(no<1 || no> this.students.length){
alert("序号输入有误!请确认学员序号重新输入!");
return;
}
if(!confirm("您确认修改学员是【"+this.students[no-1].name+"】吗?")){
alert("操作已取消!");
return;
}
var name = prompt("请输入学员姓名:");
var sex = prompt("请输入学员性别:");
var chinese = parseFloat(prompt("请输入学员语文成绩:"));
var maths = parseFloat(prompt("请输入学员数学成绩:"));
var english = parseFloat(prompt("请输入学员英语成绩:"));
var sum = chinese + maths + english;
var student = {
name : name,
sex : sex,
chinese : chinese,
maths : maths,
english : english,
sum : sum
}
this.students[no-1] = student;
}
}
console.log("\t成绩管理系统");
console.log("1、展示学员信息\t2、学员信息录入\n3、删除学员信息\t4、查询学员信息\n5、修改学员信息\t6、退出系统");
while (true){
var num = parseInt(prompt("请输入操作序号"));
var is = false;
switch (num){
case 1:
classes.showStudent();
break;
case 2:
classes.addStudent();
console.log("信息录入成功!");
classes.showStudent();
break;
case 3:
classes.delStudent();
console.log("信息删除成功!");
classes.showStudent();
break;
case 4:
classes.searchStudent();
break;
case 5:
classes.updateStudent();
console.log("信息修改成功!");
classes.showStudent();
break;
case 6:
console.log("系统退出成功!");
is = true;
break;
default:
alert("序号输入有误!");
break;
}
if(is) break;
console.log("是否继续?(输入N退出系统)");
var isGo = prompt("请输入序号:N退出系统,其他字符继续");
if(isGo == "N" || isGo == "n"){
console.log("系统退出成功!");
break;
}
}
</script>
</head>
<body>
</body>
</html>
JS自定义对象以及相关成绩系统完整案例演示的更多相关文章
- JS 自定义对象 属性
js自定义对象 一,概述 在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类.Hashtable类等等. 目前在J ...
- js自定义对象.属性 笔记
<一> js自定义对象 一,概述 在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类.Hashtabl ...
- js自定义对象
一,概述 在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类.Hashtable类等等. 目前在Javascrip ...
- JS自定义对象,正则表达式,JQuery中的一些知识点
一:自定义对象 1.基本概念:①对象:包含一系列无序属性和方法的集合.②键值对:对象中的数据是以键值对的形式存在的,以键取值.③属性:描述对象特征的一系列变量.[对象中的变量]④方法:描述对象行为的一 ...
- js自定义对象 (转)
原文地址:https://sjolzy.cn/js-custom-object.html 29 March 2010 9:53 Monday by 小屋 javascript进阶之对象篇 一,概述 在 ...
- Node.js自定义对象事件监听与发射
一.Node.js是以事件驱动的,那我们自定义的一些js对象就需要能监听事件以及发射事件.在Node.js中事件使用一个EventEmitter对象发出,该对象在events模块中.它应该是使用观察者 ...
- js 中对象--属性相关操作
查询属性: 可以用 对象.属性 来查询属性和属性方法 或者 对象[“属性”] 来查询属性和属性方法 演示代码: <script ...
- js自定义对象和类
1.工厂方式 <script type="text/javascript"> function createObject(name){ var p = n ...
- JS 创建自定义对象的方式方法
一.概述 还记得刚开始做项目的时候,看到别人封装的js工具类百思不得其解,看来看去看不懂,深挖一下,其实就是自己没有耐下心去看,但是遇到问题不解决,总会遇到的,今天还是遇到了,就去找了找帖子,重新思考 ...
随机推荐
- pickle和json模块
json模块 json模块是实现序列化和反序列化的,主要用户不同程序之间的数据交换,首先来看一下: dumps()序列化 import json '''json模块是实现序列化和反序列话功能的''' ...
- viewpager+layout布局文件随数据多少创建滑动页面
近期在做一个答题类型的APP,而其中最重要的是答题卡.而答题卡要如何做? 1.将数据插入到SQLite数据库中 2.建立entity实体包,创建实体类,封装. 3.创建实体与view的List集合 4 ...
- 【Spring】浅谈ContextLoaderListener及其上下文与DispatcherServlet的区别
一般在使用SpingMVC开发的项目中,一般都会在web.xml文件中配置ContextLoaderListener监听器,如下: <listener> <listener-clas ...
- ORACLE 程序包
程序包由PL/SQL程序元素(变量,类型)和匿名PL/SQL(游标),命名PL/SQL 块(存储过程和函数)组成. 程序包可以被整体加载到内存中,这样可以大大加快程序包中任何一个组成部分的访问速度. ...
- 流程控制------if else分支语句
一.If`······else语句:如果条件成立,就执行在语句体... 语法:if 条件: 语句体1 语句体2 语句体3 ··········· 例如: 1. if True: ...
- JavaWeb(三)servlet
Servlet * 什么是Servlet 是运行在web服务器端的Java应用程序,它使用JAVA语言编写,具有Java语言的优点.与Java程序的区别:Servlet对象主要封装了对Http请求的处 ...
- win7怎么更换锁屏壁纸
win7怎么更换锁屏壁纸... -------------------------- 按键盘组合键“Windows+R”可打开“运行”窗口,输入 “gpedit.msc” 按回 ----------- ...
- python的计数引用分析(一)
python的垃圾回收采用的是引用计数机制为主和分代回收机制为辅的结合机制,当对象的引用计数变为0时,对象将被销毁,除了解释器默认创建的对象外.(默认对象的引用计数永远不会变成0) 所有的计数引用+1 ...
- JavaScript笔记之第六天
JavaScript 库 JavaScript 库 - jQuery.Prototype.MooTools. jQuery jQuery 是目前最受欢迎的 JavaScript 框架. 它使用 CSS ...
- static和final修饰方法
static修饰的方法是静态方法,所有的对象共用一份,也就是共享方法.static方法是可以被继承,然后可以被重写和重载. final修饰的方法是不可变方法,final方法所在类被继承时,被final ...