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. python 链接hive

    http://blog.csdn.net/xubcing/article/details/8350287 http://www.centoscn.com/python/2014/0921/3801.h ...

  2. EXTJS学习笔记

    由于公司统一决策,决定使用EXTJS作为前台的开发UI框架,所以从今天开始学习EXTJS,对学习过程中遇到的问题做记录. 首先第一个问题:为什么要用ExtJS作为公司开发基础架构?   推荐一篇文章: ...

  3. jquery中的事件

    一.事件参数   function(event){} 1.停止冒泡事件  event.stopPropagation()  <=>  return false;2.阻止默认行为  even ...

  4. 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)

    // test20.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> #include< ...

  5. Ubuntu C++环境支持

    问题描述:         在Ubuntu中默认安装有gcc,但是只能编辑C程序,现在希望添加C++环境支持 问题解决:         首先是配置gcc,在ubuntu安装完成已经有gcc了(gcc ...

  6. Matlab中cellfun函数的使用

    Compute the mean of each vector in cell array C. C = {1:10, [2; 4; 6], []}; averages = cellfun(@mean ...

  7. hdu 1056

    水题 ~~  按题目要求直接判断~. /************************************************************************* > A ...

  8. Boost简介

    原文链接:  吴豆豆http://www.cnblogs.com/gdutbean/archive/2012/03/30/2425201.html Boost库 Boost库是为C++语言标准库提供扩 ...

  9. VisualSvn Server介绍

    1 .VisualSvn Server  VisualSvn Server是免费的,而VisualSvn是收费的.VisualSvn是Svn的客户端,和Visual Studio集成在一起,但是不免费 ...

  10. Project Euler 89:Roman numerals 罗马数字

    Roman numerals For a number written in Roman numerals to be considered valid there are basic rules w ...