求个JSON格式的构造函数 方法容易...直接 名:function(){...}就行了...对于"构造函数"...JSON实际上可以看作一个简写...var a = {p:v}相当于var a = new Object(); //注意这里a.p = v; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 function fo(){ this.previousMonthEvent =[]; this.evt = {}; this.date; this.setEvent = function(sdate,shour,stitle,slocation,sdescription) { this.date = sdate; this.evt = { hour:shour, title:stitle, location:slocation, description:sdescription }; this.previousMonthEvent[this.previousMonthEvent.length] = { date:sdate, ev:this.evt } } }var ff = new fo();ff.setEvent(1,2,3,4,5);alert(ff.previousMonthEvent[0].ev.hour);----试着写,但是越看越别扭单层的还可以写写,这里是多层的,数组里包含对象,对象里又包含数组,一层层这么下去,怎么写才能看的舒服而且调用起来也方便就是问题所在,以后继承的也方便. function fo(){ this.previousMonthEvent =[]; this.add = function(sdate,shour,stitle,slocation,sdescription) { var evt = {}; var pme ={}; evt = { hour:shour, title:stitle, location:slocation, description:sdescription }; var ev = []; ev.push(evt); pme = { date:sdate, ev:ev }; for(var i =0; i < this.previousMonthEvent.length;i++) { if(this.previousMonthEvent[i].date == sdate) { this.previousMonthEvent[i].ev[this.previousMonthEvent[i].ev.length] = evt; break; } if(i == this.previousMonthEvent.length - 1) { this.previousMonthEvent[i + 1] = pme; break; } } if(this.previousMonthEvent.length ==0) { this.previousMonthEvent[0] = pme; } } }var ff = new fo();ff.add("2007-8-15","11AM","11-title","11-location ","11-description");ff.add("2007-8-15","5AM","5-title","5-location ","5-description");ff.add("2007-8-15","1pM","1-title","1-location ","1-description");ff.add("2007-8-1","1AM","1-title","1-location ","1-description");ff.add("2007-8-1","2AM","2-title","2-location ","2-description");ff.add("2007-8-25","3pM","3-title","3-location ","3-description");for(var i = 0; i <ff.previousMonthEvent.length; i++){ for(var j =0; j <ff.previousMonthEvent[i].ev.length;j++) { alert("date:"+ ff.previousMonthEvent[i].date + " hour:" + ff.previousMonthEvent[i].ev[j].hour + " title:" + ff.previousMonthEvent[i].ev[j].title + " location:" + ff.previousMonthEvent[i].ev[j].location + " description:" + ff.previousMonthEvent[i].ev[j].description ); }}</script>----能添加数据,但是依然别扭..没有没高人写个范例给我参考下 http://www.json.org/这么多.为什么要自己写呢/ 编程动力 www.bcexe.com 专业的编程开发类网站,网络编程,软件开发,网站开发,一切尽在这里! 关于计算器问题 各位帮忙啊 如何用JS实现QQ农场 简单的正则表达 用document.createElement("input");创建的文本框,为什么得不到它的值 javascript取出当前元素的父级元素问题 javascript有on error resume next这个功能吗 请问如何才使一段JS代码加载一个特定的文件 奇怪,一个函数用平常一样打开就正常调用,如用window.open打开就出错。 关于textarea的问题 请教大虾: 请问这个字符串操作函数怎么实现????????????????? JS替换字符的简单问题
{
this.previousMonthEvent =[];
this.evt = {};
this.date; this.setEvent = function(sdate,shour,stitle,slocation,sdescription)
{
this.date = sdate; this.evt =
{
hour:shour,
title:stitle,
location:slocation,
description:sdescription
};
this.previousMonthEvent[this.previousMonthEvent.length] =
{
date:sdate,
ev:this.evt }
}
}var ff = new fo();
ff.setEvent(1,2,3,4,5);alert(ff.previousMonthEvent[0].ev.hour);----
试着写,但是越看越别扭
单层的还可以写写,这里是多层的,数组里包含对象,对象里又包含数组,一层层这么下去,怎么写才能看的舒服而且调用起来也方便就是问题所在,以后继承的也方便.
{
this.previousMonthEvent =[];
this.add = function(sdate,shour,stitle,slocation,sdescription)
{
var evt = {};
var pme ={};
evt =
{
hour:shour,
title:stitle,
location:slocation,
description:sdescription
};
var ev = [];
ev.push(evt);
pme =
{
date:sdate,
ev:ev
};
for(var i =0; i < this.previousMonthEvent.length;i++)
{
if(this.previousMonthEvent[i].date == sdate)
{
this.previousMonthEvent[i].ev[this.previousMonthEvent[i].ev.length] = evt;
break;
}
if(i == this.previousMonthEvent.length - 1)
{
this.previousMonthEvent[i + 1] = pme; break;
}
}
if(this.previousMonthEvent.length ==0)
{
this.previousMonthEvent[0] = pme;
}
}
}var ff = new fo();
ff.add("2007-8-15","11AM","11-title","11-location ","11-description");
ff.add("2007-8-15","5AM","5-title","5-location ","5-description");
ff.add("2007-8-15","1pM","1-title","1-location ","1-description");
ff.add("2007-8-1","1AM","1-title","1-location ","1-description");
ff.add("2007-8-1","2AM","2-title","2-location ","2-description");
ff.add("2007-8-25","3pM","3-title","3-location ","3-description");for(var i = 0; i <ff.previousMonthEvent.length; i++)
{
for(var j =0; j <ff.previousMonthEvent[i].ev.length;j++)
{
alert("date:"+ ff.previousMonthEvent[i].date + " hour:" + ff.previousMonthEvent[i].ev[j].hour + " title:" + ff.previousMonthEvent[i].ev[j].title + " location:" + ff.previousMonthEvent[i].ev[j].location + " description:" + ff.previousMonthEvent[i].ev[j].description );
}
}
</script>----能添加数据,但是依然别扭..没有没高人写个范例给我参考下