Javascript语法错误:意外的EOF-仅限webkit浏览器
我有一个函数(如下所示),它汇总了“.total”输入字段页面上的所有小时数。这个函数在FF中工作得很好,但在Chrome和Safari中,我得到了一个错误:SyntaxError:Unexpected EOF--我做了一些研究,但我不知道是什么导致了这个错误 谢谢你的帮助Javascript语法错误:意外的EOF-仅限webkit浏览器,javascript,jquery,Javascript,Jquery,我有一个函数(如下所示),它汇总了“.total”输入字段页面上的所有小时数。这个函数在FF中工作得很好,但在Chrome和Safari中,我得到了一个错误:SyntaxError:Unexpected EOF--我做了一些研究,但我不知道是什么导致了这个错误 谢谢你的帮助 function totalUpHours() { //add all values to an array var hrsTotalsarr = new Array(); $('.total').e
function totalUpHours() {
//add all values to an array
var hrsTotalsarr = new Array();
$('.total').each(function() {
var thisTotal = $(this).val();
//clean the value
if (thisTotal == "HRS") {
thisTotal = 0;
}
hrsTotalsarr.push(thisTotal);
});
//sum up the array
var hrsTotal = eval(hrsTotalsarr.join('+'));
$('#taskHRStotals').val(hrsTotal);
}
它似乎起作用了。在铬上测试 请参考 HTML:
它似乎起作用了。在铬上测试 请参考 HTML:
有时,当您从网站复制/粘贴代码时,无效字符会以其方式进入代码 不幸的是,它们通常是看不见的,只有用键盘上的箭头键将光标移过才能被注意到。当您到达无效的一个时,光标将暂停一次按键
除此之外,请考虑在代码中使用<代码> Value>(代码)>
function totalUpHours() {
var hrsTotal = $('.total').map(function() {
var thisTotal = $(this).val();
return thisTotal == "HRS" ? 0 : thisTotal;
})
.toArray()
.reduce(function(total, n) {
return total + n;
}, 0);
$('#taskHRStotals').val(hrsTotal);
}
这被称为
map/reduce
,是一种非常方便的模式。当您从网站复制/粘贴代码时,有时无效字符会以其方式进入代码
不幸的是,它们通常是看不见的,只有用键盘上的箭头键将光标移过才能被注意到。当您到达无效的一个时,光标将暂停一次按键
除此之外,请考虑在代码中使用<代码> Value>(代码)>
function totalUpHours() {
var hrsTotal = $('.total').map(function() {
var thisTotal = $(this).val();
return thisTotal == "HRS" ? 0 : thisTotal;
})
.toArray()
.reduce(function(total, n) {
return total + n;
}, 0);
$('#taskHRStotals').val(hrsTotal);
}
这叫做
map/reduce
,是一个非常方便的模式。为什么要使用eval?错误的做法。您是否从JSFIDLE这样的站点复制/粘贴了代码?我复制了这行代码:eval(hrsTotalsarr.join(+);但我已经删除了所有内容,并用手写输入了。你为什么要使用eval?错误的做法。您是否从JSFIDLE这样的站点复制/粘贴了代码?我复制了这行代码:eval(hrsTotalsarr.join(+);但后来我删除了所有内容,并用手打字。
function totalUpHours() {
var hrsTotal = $('.total').map(function() {
var thisTotal = $(this).val();
return thisTotal == "HRS" ? 0 : thisTotal;
})
.toArray()
.reduce(function(total, n) {
return total + n;
}, 0);
$('#taskHRStotals').val(hrsTotal);
}