JS命名空间实例

var types = new MeetingList.EventList(msg);

$(".divclass").html(types.Build(new Date($("#_start").val()), new Date($("#_end").val())));

/**
*
*
*
*/
var MeetingList;
(function (MeetingList) {
var TimeItem = (function () {
function TimeItem() {
}
return TimeItem;
})();
MeetingList.TimeItem = TimeItem;
var Type = (function () {
function Type() {
}
return Type;
})();
MeetingList.Type = Type;
var TypeEvent = (function () {
function TypeEvent() {
}
return TypeEvent;
})();
MeetingList.TypeEvent = TypeEvent;
var EventList = (function () {
function EventList(myJson) {
this.TypeEvent = myJson.TypeEvent;
this.Type = myJson.Type;
}
EventList.prototype.Build = function (date1, date2) {
//打印列表标题
var ListTitle = "<div class=\"tie_more clearfix color_f font12\"><ul><li class=\"www1\">日期</li><li class=\"www2 tc\">会议标题</li><li class=\"www3 tc\">会议时间</li><li class=\"www4 tc\">会议室</li><li class=\"www5 tc\">主持人</li><li class=\"www6 tc\">召集部门</li></ul></div>";
//列表正文
var ListBody = "<div class=\"tab_con font12\"><table width=\"100%\" border=\"0\"><tbody>";

//获取2个日期间所有天数
var dateArr = this.GetAllDays(date1, date2);

for (var i = 0; i < dateArr.length; i++) {
var curList = "<tr class=\"bor_b\">";
////获取当前日期的数据
var curDatas = this.GetCurDateDatas(dateArr[i]);
//第一列
var weekDay = this.GetWeekDay(dateArr[i]);

if (curDatas.length == 0) {
curList += "<td class=\"color_6 tc wbg1 pb10 pt10\" width=\"79\">{0}<br>{1}</td>";
}
else {
curList += "<td class=\"color_6 tc wbg1 pb10\" width=\"79\">{0}<br>{1}</td>";

}
curList = curList.replace("{0}", weekDay);

curList = curList.replace("{1}", this.FormatDate1(dateArr[i]));

//第二列
curList += "<td class=\"pb10\">";
for (var ii = 0; ii < curDatas.length; ii++) {
var curItemData = curDatas[ii];
var curBeginTime = new Date(curItemData.BeginTime.toString().replace(/-/g, "/"));
var curEndTime = new Date(curItemData.EndTime.toString().replace(/-/g, "/"));
curList += "<div class=\"f_w clearfix tc\"><div class=\"fl www2 mart1\">{0}</div><div class=\"fl www3 color_6\">{1}</div><div class=\"fl www4 color_6\">{2}</div><div class=\"fl www5\">{3}</div><div class=\"fl www61 color_6\">{4}</div></div><div class=\"clearfix mart15\"><h3 class=\"fl color_lh www4 tc\">{5}</h3><div class=\"fl color_6 www111\">{6}</div></div>"

curList = curList.replace("{0}", curItemData.Name);

curList = curList.replace("{1}", this.FormatDate2(curBeginTime) + "-" + this.FormatDate2(curEndTime));
curList = curList.replace("{2}", this.GetMeetingRoomByTypeID(curItemData.TypeID));
curList = curList.replace("{3}", curItemData.Host);
curList = curList.replace("{4}", curItemData.CallDepartment);
curList = curList.replace("{5}", "出席部门");
curList = curList.replace("{6}", curItemData.AttendingDepartment);

}
curList += "</td>";
curList += "</tr>";
ListBody += curList;
}
ListBody += "</div></tbody></table>";

return ListTitle + ListBody;

};
//获取2个日期间所有的天数
EventList.prototype.GetAllDays = function (date1, date2) {
var dateArr = new Array();

var curDate = new Date(date1.toString());

while (curDate <= date2) {

dateArr.push(new Date(curDate.toString()));
var curDate = this.AddDate(curDate, 1);

}

return dateArr;
};
//日期加减
EventList.prototype.AddDate = function (date, days) {

var d = new Date(date.toString());

d.setDate(d.getDate() + days);
var m = d.getMonth();
return new Date(d.getFullYear(), m, d.getDate());
};
//日期转星期
EventList.prototype.GetWeekDay = function (date) {
var weekDay = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];

return weekDay[date.getDay()];
};
//获取当前日期对应的会议室信息
EventList.prototype.GetCurDateDatas = function (date) {
var curDatas = new Array();

for (var i = 0; i < this.TypeEvent.length; i++) {

var item = this.TypeEvent[i];

var curBeginTime = new Date(item.BeginTime.toString().replace(/-/g, "/"));

if (this.FormatDate1(curBeginTime) == this.FormatDate1(date)) {
curDatas.push(item);
}
}
return curDatas;

};
//获取当前会议室ID对应的会议室name
EventList.prototype.GetMeetingRoomByTypeID = function (typeID) {
for (var i = 0; i < this.Type.length; i++) {
var item = this.Type[i];
if (item.ID == typeID) {
return item.Name;
}
}
}
//返回2015-11-11格式
EventList.prototype.FormatDate1 = function (date) {

return date.getFullYear() + ‘-‘ + (date.getMonth() + 1) + ‘-‘ + date.getDate();
};
//返回H:mm格式
EventList.prototype.FormatDate2 = function (date) {
return date.getHours() + ‘:‘ + date.getMinutes();
};

return EventList;
})();
MeetingList.EventList = EventList;

})(MeetingList || (MeetingList = {}));

时间: 2024-08-05 11:17:17

JS命名空间实例的相关文章

创建 JS Object 实例

创建 Object 实例的方式有两种.第一种是使用 new 操作符后跟 Object 构造函数,如下所示: var person = new Object(); person.name = "Jack"; person.age = 27; 第二种方式如下所示: var person = { name: "Jack", age: 27 } 使用第二种方式时,如果花括号内为空,则表示定义只包含默认属性和方法的对象.如下所示: var person = {}; perso

Python3.2官方文档翻译--作用域和命名空间实例

6.2.1 作用域和命名空间实例 以下的实例主要用来示范怎样引用不同的作用域和命名空间,keywordglobal和nonlocalru怎样影响变量绑定. 实例执行结果是: After local assignment: test spam After nonlocal assignment: nonlocal spam After global assignment: nonlocal spam In global scope: global spam 注意局部赋值(这是默认的)不能改变sco

今天和组内一起写代码时碰到了一个关于命名冲突的问题,最后用js命名空间的方法解决的。

//第一步,首先创建一个全局变量,可以放在自己的js方法库中方便以后用,这个就是用来注册命名空间的方法. ns = function(namespace){ var arr = namespace.split('.');  //将传入的字符串如"com.test.lzn"以'.'隔开做成一个数组 var strNamespace = ""; //这个是为了保存每一步循环进去的包名 for(var i=0;i<arr.length;i++) { if(i!=0)

chart.js操作实例(前后台互通)

前提:需要导入chart.js 我的项目环境是:SpringMVC+mongodb SpringMVC的controller层: /** * 查询得到财务信息报表 * @author liupeng * @param request * @return * @throws UnknownHostException * @throws ParseException */ @RequestMapping(value="/innerChartOutForFinal") public Mode

js命名空间的使用

js命名空间的使用: test.html 代码如下: <!DOCTYPE HTML><html lang="en-US"><head>    <meta charset="UTF-8">    <title>测试命名空间</title>    <script src="test.js" type="text/javascript" ></

js分页实例

js分页实例 1.js_pageusers.html <!DOCTYPE html> <html> <head> <title>js_pageusers.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description"

一段经典的js命名空间创建和链式调用代码

var YourGlobal = { namespace: function(ns) { var parts = ns.split('.'), object = this, i, len; for(i =0, len=parts.length; i<len; i++) { if(!object[parts[i]]) { object[parts[i]] = {}; } object = object[parts[i]]; } return object; } }; YourGlobal.name

js命名空间的玩法详解

1.首先为什么要用js命名空间          在我们的项目中,如果多个人为同一个页面写js的话,命名冲突就有可能发生,如果所有的函数都是全局的话,如下: a.js中 function com() {   ..... } b.js中 function com() {     ........ } 且一个页面同时引用了这两个js文件,这样我们调用的时候会出问题,可能老是调用到第一个文件里面的函数了,我之前在做一个项目的时候就碰到了这个问题,我自己b.js文件中ajax的响应函数的名字和a.js文

js命名空间的理解与实现

命名空间有效防止函数名/类名和其他人的冲突,在使用多个第三方框架或类库的时候,一旦冲突,唯一能作的就是放弃其中一个.从事Web开发不可避免要接触JavaScript,目前最新版本的JavaScript还是不支持命名空间,所以命名冲突的问题凸显无疑,想象一下你引用了两个js文件,却发现由于命名问题导致你不得不放弃其中一个,从而导致多写了许多代码,无疑是十分令人沮丧的.在JavaScript新版本引入命名空间概念之前,发扬自立更生精神和创造性是我们程序员的基本义务; 实现前提:与java.C#.C.