2014-12-03 62 views
0
self.sortDeadlineFwdLive = function() { 
self.deadline_fwd_lives.sort(function (left, right) { 
    if (left.penalty_due_date() || right.penalty_due_date()) { 
     if (left.penalty_due_date() == right.penalty_due_date()) { 
      return left.returned_date() == right.returned_date() ? 0 : ((left.returned_date() && left.returned_date() < right.returned_date()) || !right.returned_date() ? -1 : 1); 
     } 
     return left.fl_due_date() == right.fl_due_date() ? 0 : ((left.fl_due_date() && left.fl_due_date() < right.fl_due_date()) || !right.fl_due_date() ? -1 : 1); 
    } 
    return left.penalty_due_date() == right.penalty_due_date() ? 0 : ((left.penalty_due_date() && left.penalty_due_date() < right.penalty_due_date()) || !right.penalty_due_date() ? -1 : 1); 
} else if (left.fl_due_date() == right.fl_due_date()) { 
    if (left.penalty_due_date() != right.penalty_due_date()) { 
     return left.returned_date() == right.returned_date() ? 0 : ((left.returned_date() && left.returned_date() < right.returned_date()) || !right.returned_date() ? -1 : 1); 
    } 
    return left.fl_due_date() == right.fl_due_date() ? 0 : ((left.fl_due_date() && left.fl_due_date() < right.fl_due_date()) || !right.fl_due_date() ? -1 : 1); 
} else { 
    return left.returned_date() == right.returned_date() ? 0 : ((left.returned_date() && left.returned_date() < right.returned_date()) || !right.returned_date() ? -1 : 1); 

} 
}); 
}; 

以上是我的js函数的代码,但我不能得到它的权利,一直在努力了几个小时,仍然无法弄清楚,即时通讯可怕与JS,任何一种灵魂可以解决这个问题,也许只是语法错误JS有语法错误

Fiddle

+0

您是否尝试了系统地删除并重新引入代码,直到找到有问题的行? – apsillers 2014-12-03 15:16:45

+1

据我所知,所有主流浏览器都有开发工具。按下键,应该弹出一些东西。选择“控制台”选项卡,运行JavaScript,错误将显示在控制台中。 – 2014-12-03 15:21:14

+1

控制台显示'Uncaught SyntaxError:Unexpected token else'。 [学习如何调试JavaScript](https://developer.chrome.com/devtools/docs/javascript-debugging),Stack Overflow不是一个调试服务。 – 2014-12-03 15:47:09

回答

3

你错过起始if条款if (left.penalty_due_date() || right.penalty_due_date()) {之前。

+0

我不明白,我不认为这是问题,你可以提供jsfiddle来证明它是正确的吗? @limelights – 2014-12-03 15:27:04

+0

@CheongDMunPong提供:http://jsbin.com/rokixucasu/1/edit?js – 2014-12-03 15:28:47

+0

为什么我仍然看到你提供的那么多错误?你能修复这些错误并再次展示我吗?我可以自己检查差异,tq – 2014-12-03 15:30:54

3

该错误是在这条线:

} else if (left.fl_due_date() == right.fl_due_date()) { 

}正在关闭的功能,而不是如果。

+0

我不明白,我不认为这是问题,你能否提供jsfiddle来证明它是正确的? – 2014-12-03 15:26:39

+0

@CheongDMunPong:看看你的代码的缩进。你不觉得奇怪的是,else if块没有与if块对齐吗? – 2014-12-03 15:50:14