js 写成类的形式 js 静态变量 js方法 属性 json类
function ClassStudentList() {
//[{"Cid":"0d","Students":[{"Sid":"eb7","Sname":"邓小六"},{"Sid":"f5","Sname":"胡小同"}]}]
//[{"Cid":"班级Id","Students":[{"Sid":"学生id","Sname":"学生名称"},...]},...]
ClassStudentList.CheckedList = []; //静态成员,数组,表示 已经被选中的班级和孩子
var sidList = new Object;
sidList.addClassStudent = function(singClassStudents) {
ClassStudentList.CheckedList.push(singClassStudents);
};
sidList.addStudent = function(cid,sid,sname) { //添加单个学生
//先判断这个班级是否存在,存在的话就直接添加学生,不存在还要先添加班级,再添加学生
var haveClass = false;
for (var l = 0; l < ClassStudentList.CheckedList.length; l++) {
if (ClassStudentList.CheckedList[l].Cid==cid) {
var tempStudentList = ClassStudentList.CheckedList[l].Students;
var student = {};
student["Sid"] = sid;
student["Sname"] = sname;
tempStudentList.push(student);
haveClass = true;
}
}
if (!haveClass) { //如果不存在班级,添加班级,添加孩子
var tempStuList = [];
var stu = {};
stu["Sid"] = sid;
stu["Sname"] = sname;
tempStuList.push(stu);
var classstudent = {};
classstudent["Cid"] = cid;
classstudent["Students"] = tempStuList;
this.addClassStudent(classstudent);
}
};
sidList.deleClass = function(cid) {
for (var k = 0; k < ClassStudentList.CheckedList.length; k++) {
if (ClassStudentList.CheckedList[k].Cid==cid) {
ClassStudentList.CheckedList.baoremove(k);
}
}
};
sidList.deleSingStudent = function(cid,sid) {
for (var k = 0; k < ClassStudentList.CheckedList.length; k++) {
if (ClassStudentList.CheckedList[k].Cid==cid) {
var tempStuList = ClassStudentList.CheckedList[k].Students;
for (var kk = 0; kk < tempStuList.length; kk++) {
if (tempStuList[kk].Sid==sid) {
tempStuList.baoremove(kk);
}
}
if (tempStuList.length==0) { //如果这个班级的学生都删了,就还要删除这个班
this.deleClass(ClassStudentList.CheckedList[k].Cid);
}
}
}
};
//显示被选召的孩子
sidList.show = function(tempList) {
ShowSingClassStudent(tempList,ClassStudentList.CheckedList);
};
return sidList; /*必须*/
}
调用方法:在一个页面的script里面,只new一个对象,这样就能保证这个 类名.属性 就相当于是 c#里面的static静态变量
1:先new一个对象
var car1 = ClassStudentList(); //new 一个列表
2: 调用方法
car1.addClassStudent(classstudent);
car1.show(classstudent);
3:通过类名来访问静态属性
ClassStudentList.CheckedList
ClassStudentList.CheckedList.length
js 写成类的形式 js 静态变量 js方法 属性 json类的更多相关文章
- js循环读取json数据,将读取到的数据用js写成表格
①js循环读取json数据的方式: var data=[{"uid":"2688","uname":"*江苏省南菁高级中学 022 ...
- Oracle中使用Table()函数解决For循环中不写成 in (l_idlist)形式的问题
转: Oracle中使用Table()函数解决For循环中不写成 in (l_idlist)形式的问题 在实际PL/SQL编程中,我们要对动态取出来的一组数据,进行For循环处理,其基本程序逻辑为: ...
- Java:【面向对象:类的定义,静态变量,成员变量,构造函数,封装与私有,this】
本文内容: 什么是面对对象 类的定义与对象实例化 成员变量 成员变量的有效范围 成员变量的赋值 静态变量.方法与实例变量.方法 构造函数 封装与私有 this关键字 注:函数和方法是一样东西.[由于我 ...
- java static 变量,和方法从属于类
第36集 java static 变量,和方法从属于类 可以用类来直接调用static属性和方法 static方法不能调用非静态的属性和方法,反之可以 new产生的对象,不包括static 属性和方法
- Objective-C 静态变量 使用方法
详解Objective-C中静态变量使用方法 Objective-C中静态变量使用方法是本文要介绍的内容,Objective-C 支持全局变量,主要有两种实现方式:第一种和C/C++中的一样,使用&q ...
- Qt中静态变量使用方法
静态变量可以在各个页面之前使用 先定义一个用于存放静态变量的类 例如datavar 在datavar.h中添加如下代码 #ifndef DATAVAR_H #define DATAVAR_H #inc ...
- 第8.34节 《Python类中常用的特殊变量和方法》总结
本章介绍了Python类中常用的特殊变量和方法,这些特殊变量和方法都有特殊的用途,是Python强大功能的基石之一,许多功能非常有Python特色.由于Python中一切皆对象,理解这些特殊变量和方法 ...
- 第8章 Python类中常用的特殊变量和方法目录
第8章 Python类中常用的特殊变量和方法 第8.1节 Python类的构造方法__init__深入剖析:语法释义 第8.2节 Python类的__init__方法深入剖析:构造方法案例详解 第8. ...
- JS写一个列表跑马灯效果--基于touchslide.js
先放上效果图: 类似于这样的,在列表中循环添加背景样式的跑马灯效果. 准备引入JS插件: <script type="text/javascript" src="x ...
随机推荐
- Extjs关于FormPanel布局
Extjs关于FormPanel布局 FormPanel有两种布局:form和column,form是纵向布局,column为横向布局.默认为后者.使用layout属性定义布局类型.对于一个复杂的布局 ...
- jQuery+AJAX实现网页无刷新上传
新年礼,提供简单.易套用的 jQuery AJAX上传示例及代码下载.后台对文件的上传及检查,以 C#/.NET Handler 处理 (可视需要改写成 Java 或 PHP). 有时做一个网站项目 ...
- [luogu 1880]石子合并
题目描述 在一个园形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分. 试设计出1个算法,计算出将N堆石子合并成1 ...
- 把eclipse"中文版"变成"英文版"
在Eclipse.exe当前路径下,直接新建快捷方式,右键属性,添加如下参数即可 eclipse.exe -nl en
- Web应用中的轻量级消息队列
Web应用中为什么会需要消息队列?主要原因是由于在高并发环境下,由于来不及同步处理,请求往往会发生堵塞,比如说,大量的insert,update之类的请求同时到达mysql,直接导致无数的行锁表锁,甚 ...
- tomcat 解析(一)-文件解析
做web项目,最常用的服务器就是Apache的tomcat.虽然一直在用tomcat,但都是仅限在使用的阶段,一直没有深入学习过.想深入学习tomcat,首推的肯定是官网:http://tomcat. ...
- java基础知识回顾之---java StringBuilder与StringBuffer异同点
/* * StringBuilder与StringBuffer异同点: * * 使用方法与StringBuffer完全一样 * Str ...
- ElasticSearch小操之Marvel,Sense
慢慢弄弄,说不好马上就要用呢,,, 嘿嘿 参考网址: http://es.xiaoleilu.com/ Elasticsearch 权威指南(中文版) 阅读地址:Elasticsearch权威指南(中 ...
- JavaC 编译目录下所有的UTF-8编码的java文件
javac -encoding UTF-8 *.java
- 阻止事件冒泡(stopPropagation和cancelBubble)和阻止默认行为(preventDefault和returnValue)
<div id="divId1" style="width:500px;height:500px;background-color:#3ac;text-align: ...