1. function ClassStudentList() {
  2. //[{"Cid":"0d","Students":[{"Sid":"eb7","Sname":"邓小六"},{"Sid":"f5","Sname":"胡小同"}]}]
  3. //[{"Cid":"班级Id","Students":[{"Sid":"学生id","Sname":"学生名称"},...]},...]
  4. ClassStudentList.CheckedList = []; //静态成员,数组,表示 已经被选中的班级和孩子
  5.  
  6. var sidList = new Object;
  7. sidList.addClassStudent = function(singClassStudents) {
  8. ClassStudentList.CheckedList.push(singClassStudents);
  9. };
  10. sidList.addStudent = function(cid,sid,sname) { //添加单个学生
  11. //先判断这个班级是否存在,存在的话就直接添加学生,不存在还要先添加班级,再添加学生
  12. var haveClass = false;
  13. for (var l = 0; l < ClassStudentList.CheckedList.length; l++) {
  14. if (ClassStudentList.CheckedList[l].Cid==cid) {
  15. var tempStudentList = ClassStudentList.CheckedList[l].Students;
  16. var student = {};
  17. student["Sid"] = sid;
  18. student["Sname"] = sname;
  19. tempStudentList.push(student);
  20. haveClass = true;
  21. }
  22. }
  23. if (!haveClass) { //如果不存在班级,添加班级,添加孩子
  24. var tempStuList = [];
  25. var stu = {};
  26. stu["Sid"] = sid;
  27. stu["Sname"] = sname;
  28. tempStuList.push(stu);
  29. var classstudent = {};
  30. classstudent["Cid"] = cid;
  31. classstudent["Students"] = tempStuList;
  32. this.addClassStudent(classstudent);
  33.  
  34. }
  35.  
  36. };
  37. sidList.deleClass = function(cid) {
  38. for (var k = 0; k < ClassStudentList.CheckedList.length; k++) {
  39. if (ClassStudentList.CheckedList[k].Cid==cid) {
  40. ClassStudentList.CheckedList.baoremove(k);
  41. }
  42.  
  43. }
  44. };
  45. sidList.deleSingStudent = function(cid,sid) {
  46. for (var k = 0; k < ClassStudentList.CheckedList.length; k++) {
  47. if (ClassStudentList.CheckedList[k].Cid==cid) {
  48. var tempStuList = ClassStudentList.CheckedList[k].Students;
  49. for (var kk = 0; kk < tempStuList.length; kk++) {
  50. if (tempStuList[kk].Sid==sid) {
  51. tempStuList.baoremove(kk);
  52. }
  53. }
  54. if (tempStuList.length==0) { //如果这个班级的学生都删了,就还要删除这个班
  55. this.deleClass(ClassStudentList.CheckedList[k].Cid);
  56. }
  57. }
  58.  
  59. }
  60. };
  61. //显示被选召的孩子
  62. sidList.show = function(tempList) {
  63. ShowSingClassStudent(tempList,ClassStudentList.CheckedList);
  64. };
  65. return sidList; /*必须*/
  66. }

调用方法:在一个页面的script里面,只new一个对象,这样就能保证这个 类名.属性  就相当于是 c#里面的static静态变量

1:先new一个对象

  1. var car1 = ClassStudentList(); //new 一个列表

2: 调用方法

  1. car1.addClassStudent(classstudent);
  2. car1.show(classstudent);

3:通过类名来访问静态属性

  1. ClassStudentList.CheckedList
  1. 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. 机器学习中的数学-矩阵奇异值分解(SVD)及其应用

    转自:http://www.cnblogs.com/LeftNotEasy/archive/2011/01/19/svd-and-applications.html 版权声明: 本文由LeftNotE ...

  2. eclipse svn 修改了类名之后提交

    win下面的文件名不区分大小写,所以不能只是把小写类名改成大写. 正确的做法有如下两种:1,先删除类a,提交,此操作会删除服务器上的文件.再添加类A,提交.2,重命名a为aa,提交,此操作会删除服务器 ...

  3. Directx3D SimpleSample Sample

    在d3d 2010 june这个版本里的samples 不知道为什么SimpleSample Sample 这个 它的documents基本等于没有 Starting point for new Di ...

  4. SpringMVC学习总结(六)——SpringMVC文件上传例子(2)

    基本的SpringMVC的搭建在我的上一篇文章里已经写过了,这篇文章主要说明一下使用SpringMVC进行表单上的文件上传以及多个文件同时上传的不同方法 一.配置文件: SpringMVC 用的是 的 ...

  5. go语言入门

    Go语言最主要的特性: 自动垃圾回收 更丰富的内置类型 函数多返回值 错误处理 匿名函数和闭包 类型和接口 并发编程 反射 语言交互性 1.2.4 错误处理Go语言引入了3个关键字用 ...

  6. CreateTwoArray

    public class CreateTwoArray{ public static void main(String []args){ int[][]arr=new int [2][3]; Syst ...

  7. 在PowerDesigner中设计物理模型3——视图、存储过程和函数

    原文:在PowerDesigner中设计物理模型3--视图.存储过程和函数 视图 在SQL Server中视图定义了一个SQL查询,一个查询中可以查询一个表也可以查询多个表,在PD中定义视图与在SQL ...

  8. 233. Number of Digit One

    题目: Given an integer n, count the total number of digit 1 appearing in all non-negative integers les ...

  9. 转AOP 介绍

    来自:http://blog.csdn.net/a906998248/article/details/7514969 这篇也不错,详细介绍了CGLIP http://blog.jobbole.com/ ...

  10. python 有关矩阵行列的存取 np.array

    初始化 a = range() a = np.array(a) a = a.reshape(,) a [[ 0  1  2  3]  [ 4  5  6  7]  [ 8  9 10 11]  [12 ...