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 ...
随机推荐
- sqlserver oracle 时间加减
sqlserver: 减去10小时: dateadd(hour,-10,Your_date) oracle : 减去10小时: sysdate()-10/24
- VIM Taglist安装配置和使用
问题描述: VIM Taglist安装于配置 问题解决: (1)安装Taglist包 (2)解压taglist压缩包 (3)将 ...
- div均匀分布代码实例
多个div在同一行以相同间隔分布: 这样的布局效果使用非常的频繁,也就是让多个div在一行分布,并且div于div之间的间隙是一样的,多用在对于产品的展示之用,下面就介绍一下如何实现此中布局,代码实例 ...
- 剑指offer--面试题17
题目:合并两个排序的单向链表 自己所写代码如下: ListNode* MergeSortedLists(ListNode* pHead1, ListNode* pHead2) { if(pHead1 ...
- oracle时间处理
一.当前时间 在sql中直接使用sysdate函数,表示当前时间. 那么,利用当前时间,我们可以获取到当前时间前后指定的时间信息. 1.1 加减法 :: ::40select sysdate-1/24 ...
- 一个简单的PHP登录演示(SESSION版 与 COOKIE版)
//==============COOKIE版本的简单登录================ if ($_GET[out]){ setcookie('id',''); setcookie('pw','' ...
- uva 11627
二分 #include <cstdio> #include <cstdlib> #include <cmath> #include <map> #inc ...
- synergy--共享你的键鼠
synergy用来分享一套键鼠,作用于多台主机.可作用于linux.Windows和mac平台.工作方式是:将一台主机作为服务器端,然后服务器端将会分享自己的键鼠,另一台主机作为客户端连接服务端就可以 ...
- MYSQL日常操作命令再熟悉
1,创建用户及密码: CREATE USER 'user'@'%' IDENTIFIED BY 'password'; 2,创建数据库: create database PDB_chengang de ...
- [转]Java数组初始化详解
一维数组1) int[] a; //声明,没有初始化 2) int[] a=new int[5]; //初始化为默认值,int型为0 3) int[] a={1,2,3,4,5}; ...