在開發過程當中ajax請求對獲得的額數據進行操做 以下:ios
var strTimeStr=data.startTime; var newstartTime=startTime=new Date(Date.parse(strTimeStr.replace(/-/g,"/"))).getTime(); ……
再自測時發現報錯,以致於後面的代碼都中止執行。
報錯:js提示 Cannot read property 'replace' of undefinedajax
緣由是在某些狀況下返回的data中沒有參數「startTime」 故「replace」不存在。code
改進:開發
if(data.startTime){ //當data.startTime存在時 var strTimeStr=data.startTime; //後臺返回的額時間是「2016-12-12 00:00:00」格式的字符串 var newstartTime=startTime=new Date(Date.parse(strTimeStr.replace(/-/g,"/"))).getTime(); //後臺返回的string時間轉爲時間戳 }else{ console.log("startTime:不存在"); };
要用這種轉換 var newstartTime=startTime=new Date(Date.parse(strTimeStr.replace(/-/g,"/"))).getTime(); 時間格式爲「2016-12-12 00:00:00」字符串
IOS解析Date.parse("Mon Dec 12 2016 10:00:00").getTime()這樣的時間格式時 ios報NaN;get
因此後臺返回時間格式儘可能爲時間格式爲「2016-12-12 00:00:00」string
如若筆記有誤,望指出,很是感謝~io