Javascript无法评估表达式
问题描述:
我试图计算JavaScript中的日差以应用某些值。所述第一表达Javascript无法评估表达式
如果subs_start
工作正常,但第二个
subs_end
不工作时,也一样与
subs_mid
代码:
var subs_start = 0;
var subs_mid = 0;
var subs_end = 0;
var dayDiff = (end_year*365 + end_mon * 30 + end_day)
- (start_year*365 + start_mon* 30 + start_day);
var oneDay=1000*60*60*24;
var oneHour = 1000*60*60;
var timeDiff = endDate.getTime() - startDate.getTime();
var hourDiff = timeDiff/oneHour;
var start_rem_hour = 24 - start_hour*1;
$.each(subsistence, function(id,subs){
if(subs.start <= start_rem_hour && start_rem_hour < subs.end){
subs_start = subs.rate;
}
alert('T' + end_hour);
if(subs.start <= end_hour && end_hour < subs.end){
subs_end = subs.rate;
alert ('e ' + subs_end);
}
if(dayDiff > 2){
if(subs.start >= 10){
subs_mid = subs.rate * (dayDiff - 2);
alert ('m ' + subs_mid);
}
}
});
var subs_allow = subs_start*1 + subs_mid*1 + subs_end*1 ;
答
我为终于能够找到答案。我需要多个start_rem_hour和end_hour 1来转换为int。看来js将它们作为字符串,当我乘以1时它会进入整数范围。
你期望的行为是什么,出了什么问题? – bbg 2011-06-11 04:50:10
在这种情况下,短语“不工作”并不意味着什么,除非你得到了一个你没有想到的答案。你处理的数据是什么?答案让你感到惊讶?甚至可能是你的期望不正确...... – 6502 2011-06-11 06:21:01