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类的更多相关文章

  1. js循环读取json数据,将读取到的数据用js写成表格

    ①js循环读取json数据的方式: var data=[{"uid":"2688","uname":"*江苏省南菁高级中学 022 ...

  2. Oracle中使用Table()函数解决For循环中不写成 in (l_idlist)形式的问题

    转: Oracle中使用Table()函数解决For循环中不写成 in (l_idlist)形式的问题 在实际PL/SQL编程中,我们要对动态取出来的一组数据,进行For循环处理,其基本程序逻辑为: ...

  3. Java:【面向对象:类的定义,静态变量,成员变量,构造函数,封装与私有,this】

    本文内容: 什么是面对对象 类的定义与对象实例化 成员变量 成员变量的有效范围 成员变量的赋值 静态变量.方法与实例变量.方法 构造函数 封装与私有 this关键字 注:函数和方法是一样东西.[由于我 ...

  4. java static 变量,和方法从属于类

    第36集 java static 变量,和方法从属于类 可以用类来直接调用static属性和方法 static方法不能调用非静态的属性和方法,反之可以 new产生的对象,不包括static 属性和方法

  5. Objective-C 静态变量 使用方法

    详解Objective-C中静态变量使用方法 Objective-C中静态变量使用方法是本文要介绍的内容,Objective-C 支持全局变量,主要有两种实现方式:第一种和C/C++中的一样,使用&q ...

  6. Qt中静态变量使用方法

    静态变量可以在各个页面之前使用 先定义一个用于存放静态变量的类 例如datavar 在datavar.h中添加如下代码 #ifndef DATAVAR_H #define DATAVAR_H #inc ...

  7. 第8.34节 《Python类中常用的特殊变量和方法》总结

    本章介绍了Python类中常用的特殊变量和方法,这些特殊变量和方法都有特殊的用途,是Python强大功能的基石之一,许多功能非常有Python特色.由于Python中一切皆对象,理解这些特殊变量和方法 ...

  8. 第8章 Python类中常用的特殊变量和方法目录

    第8章 Python类中常用的特殊变量和方法 第8.1节 Python类的构造方法__init__深入剖析:语法释义 第8.2节 Python类的__init__方法深入剖析:构造方法案例详解 第8. ...

  9. JS写一个列表跑马灯效果--基于touchslide.js

    先放上效果图: 类似于这样的,在列表中循环添加背景样式的跑马灯效果. 准备引入JS插件: <script type="text/javascript" src="x ...

随机推荐

  1. sqlserver oracle 时间加减

    sqlserver: 减去10小时: dateadd(hour,-10,Your_date) oracle : 减去10小时: sysdate()-10/24

  2. VIM Taglist安装配置和使用

    问题描述:            VIM  Taglist安装于配置 问题解决:             (1)安装Taglist包      (2)解压taglist压缩包         (3)将 ...

  3. div均匀分布代码实例

    多个div在同一行以相同间隔分布: 这样的布局效果使用非常的频繁,也就是让多个div在一行分布,并且div于div之间的间隙是一样的,多用在对于产品的展示之用,下面就介绍一下如何实现此中布局,代码实例 ...

  4. 剑指offer--面试题17

    题目:合并两个排序的单向链表 自己所写代码如下: ListNode* MergeSortedLists(ListNode* pHead1, ListNode* pHead2) { if(pHead1 ...

  5. oracle时间处理

    一.当前时间 在sql中直接使用sysdate函数,表示当前时间. 那么,利用当前时间,我们可以获取到当前时间前后指定的时间信息. 1.1 加减法 :: ::40select sysdate-1/24 ...

  6. 一个简单的PHP登录演示(SESSION版 与 COOKIE版)

    //==============COOKIE版本的简单登录================ if ($_GET[out]){ setcookie('id',''); setcookie('pw','' ...

  7. uva 11627

    二分 #include <cstdio> #include <cstdlib> #include <cmath> #include <map> #inc ...

  8. synergy--共享你的键鼠

    synergy用来分享一套键鼠,作用于多台主机.可作用于linux.Windows和mac平台.工作方式是:将一台主机作为服务器端,然后服务器端将会分享自己的键鼠,另一台主机作为客户端连接服务端就可以 ...

  9. MYSQL日常操作命令再熟悉

    1,创建用户及密码: CREATE USER 'user'@'%' IDENTIFIED BY 'password'; 2,创建数据库: create database PDB_chengang de ...

  10. [转]Java数组初始化详解

    一维数组1)   int[] a;   //声明,没有初始化 2)   int[] a=new int[5];   //初始化为默认值,int型为0 3)   int[] a={1,2,3,4,5}; ...