javascript破坏的语法
问题描述:
好吧,我或我工作的某人在某处打破了语法,我不确定在哪里,因为调试器给我一些随机的错误。无论如何,这里的功能,我想我在某个地方丢失了一个支架,但这只是由于某种原因回避我。javascript破坏的语法
var sort_by = function(field, reverse, primer) {
var key = function (x) {return primer ? primer(x[field]) : x[field]};
return function (a,b) {
var A = key(a), B = key(b);
return ((A < B) ? -1 : (A > B) ? +1 : 0)) * [-1,1][+!!reverse];
}
}
答
有上线
return ((A < B) ? -1 : (A > B) ? +1 : 0))
一个额外的右括号应该
return ((A < B) ? -1 : (A > B) ? +1 : 0) ...etc
答
这将是有用的,如果能提供反正调试错误。我exectued它在Chrome开发者控制台,它给了错误:
SyntaxError: Unexpected token)
这使得它容易找到了这个虚线:
return ((A < B) ? -1 : (A > B) ? +1 : 0)) * [-1,1][+!!reverse];
你有不平衡的括号。它应该是:
return ((A < B) ? -1 : (A > B) ? +1 : 0) * [-1,1][+!!reverse];
答
这里还有一个额外的右括号。去掉它。
return ((A < B) ? -1 : (A > B) ? +1 : 0)) * [-1,1][+!!reverse];
此外,分号的一切。
var sort_by = function(field, reverse, primer) {
var key = function(x) {
return primer ? primer(x[field]) : x[field];
};
return function(a, b) {
var A = key(a), B = key(b);
return ((A < B) ? -1 : (A > B) ? +1 : 0) * [-1, 1][+!!reverse];
};
};