數據為undefined,,求大佬幫看下
請問一下為何我最終是undefined,獲取不到數據,結果為Null
(function?()?{
????var?datepicker?=?{};
????datepicker.getMonthData?=?function?(year,month)?{//獲取一個月的數據,
????????var?ret?=?[];
????????if?(!year?||?!month){
????????????var?today?=?new?Date();
????????????year?=?today.getFullYear();//獲取年份
????????????month?=?today.getMonth()+1;//獲取月份
????????}
????????var?firstDay?=?new?Date(year,month-1,1);//獲取當月的第一天
????????var?firstDayWeekDay?=?firstDay.getDay();//獲取第一天是星期幾
????????if?(?firstDayWeekDay===0){//判斷是否是周日
????????????firstDayWeekDay?=?7;
????????}
????????year?=?firstDay.getFullYear();
????????month?=?firstDay.getMonth()?+?1;
????????var?lastDayOfLastMonth?=?new?Date(year,month-1,0);//獲取上個月的最后一天
????????var?lastDateOfLastMonth?=?lastDayOfLastMonth.getDate();
????????//?console.log(lastDateOfLastMonth);
????????var?preMonthDayCount?=?firstDayWeekDay?-?1;//
????????var?lastDay?=?new?Date(year,month,0);//本月的最后一天
????????var?lastDate?=?lastDay.getDate();
????????for(var?i=0;i<7*6;i++){
????????????var?date?=?i?+?1?-?preMonthDayCount;
????????????var?showDate?=?date;
????????????var?thisMonth?=?month;
????????????if?(date<=0){??//上一月
????????????????thisMonth?=?month?-?1;
????????????????showDate?=?lastDateOfLastMonth?+?date;
????????????}else?if(date?>?lastDate){//下一月
????????????????thisMonth?=?month?+?1;
????????????????showDate?=?showDate?-?lastDate;
????????????}
????????????if(thisMonth?===?0)?thisMonth?=?12;
????????????if(thisMonth?===13)?thisMonth?=?1;
????????????ret.push({
????????????????month:thisMonth,//月份
????????????????date:date,??//真實日期
????????????????showDate:showDate//顯示的日期
????????????});
????????}
????????return{
????????????year:year,
????????????month:month,
????????????days:ret
????????}
????};
????window.datepicker?=?datepicker;//用window定義的變量是全局的變量
})();main.js
(function?()?{
????var?datepicker?=?window.datepicker;
????datepicker.buildUi?=?function?(year?,month)?{???//buildUi?為渲染函數
????????var?monthData?=?datepicker.getMonthData(year,month);
????????var?html?=?'<div?class="ui-datepicker-header">'+
????????????'<a?href="#"?class="ui-datepicker-btn?ui-datepicker-prev-btn"><</a>'+
????????????'<a?href="#"?class="ui-datepicker-btn?ui-datepicker-next-btn">></a>'+
????????????'<span?class="ui-datepicker-curr-month">'+monthData.year?+'-'+monthData.month+'</span>'+
????????????'</div>'+
????????????'<div?class="ui-datepicker-body">'+
????????????'<table>'+
????????????'<thead>'+
????????????????'<tr>'+
????????????????????'<th>一</th>'+
????????????????????'<th>二</th>'+
????????????????????'<th>三</th>'+
????????????????????'<th>四</th>'+
????????????????????'<th>五</th>'+
????????????????????'<th>六</th>'+
????????????????????'<th>日</th>'+
????????????????'</tr>'+
????????????'</thead>'+
????????????'<tbody>';
????????????????for(var?i=0;i<monthData.days.length;i++){
????????????????????var?date?=?monthData.days[i];
????????????????????if?(i%7?===0){
????????????????????????html?+='<tr>';
????????????????????}
????????????????????html?+='<td>'+date.showDate?+?'</td>';
????????????????????if?(i%7?===6){
????????????????????????html?+='</tr>';
????????????????????}
????????????????}
????????????html?+='</tbody>'+
????????????'</table>'+
????????????'</div>';
????};
????datepicker.init=function?($dom)?{
????????var?html?=?datepicker.buildUi();
????????$dom.innerHTML?=?html;
????};
})();
2017-05-08
詳細描述一下,哪里不對?
2017-05-25
buildUi沒返回html,其他看不出來
2017-05-06
循環那里應該是var date = MonthDate[i]