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 ...
随机推荐
- NeatUpload 同时选择并上传多个文件
neatUpload是asp.net 中可以同时上传多个文件的控件,主页:http://neatupload.codeplex.com/. 效果如下图(显示有点不正常...): 使用步骤: 1. 在a ...
- HTML5 本地裁剪图片
下面奉上我自己写的一个demo,代码写得比较少,很多细节不会处理.如果有不得当的地方恳请指教,谢谢啦 ^_^ ^_^ 功能实现步奏: 一:获取文件,读取文件并生成url 二:根据容器的大小 ...
- [转载]WebBrowser控件表单(form)的自动填写和提交
话说有了WebBrowser类,终于不用自己手动封装SHDocVw的AxWebBrowser这个ActiveX控件了.这个类如果仅仅作为一个和IE一模一样浏览器,那就太没意思了(还不如直接用IE呢). ...
- [转载]C#中字典集合的两种遍历
Dictionary<string, string> dictionary = new Dictionary<string,string>(); foreach (string ...
- 用matlab查找txt文档中的关键字,并把关键字后面的数据存到起来用matlab处理
用matlab查找txt文档中的关键字,并把关键字后面的数据存到起来用matlab处理 我测了一组数据存到txt文件中,是个WIFI信号强度文档,里面有我们需要得到的数据,有没用的数据,想用matla ...
- PHP输出中文乱码的问题
用echo输出的中文显示成乱码, 其实应该是各种服务器脚本都会遇到这个问题, 根本还是编码问题, 一般来说出于编码兼容考虑大多的页面都将页面字符集定义为utf-8 <meta http-equi ...
- python的dict()函数
dict(one=1,two=2) dict({'one':1,'two':2}) dict((('one',1),('two',2))) dict((['one',1],['two',2])) di ...
- [转] ADO.NET实体框架引发争论
转自:http://developer.51cto.com/art/200811/76356.htm 2008-11-11 14:00 朱永光译 infoq 我要评论(0) 一个在ADO.NET实体框 ...
- hdu 4497 GCD and LCM
思路:易知L不能整除G时为0: 将L/G质因数分解,对于其中的因子p,个数为cnt,则至少有一个包含p^cnt,至少有一个数不包含p: 只有一个数包含p^cnt时,有C(3,1); 有2个数包含p^c ...
- linux网站推荐
推荐几个Liux中文学些网站. http://www.chinaunix.net/http://linux.cn/http://www.linuxidc.com/