以下代码摘自 Backbone.js Events#off()
如何简化 IF 部分使其易于理解?
for (i = list.length - 2; i >= 0; i -= 2) {
if (!(callback && list[i] !== callback || context && list[i + 1] !== context)) {
list.splice(i, 2);
}
}
最佳答案
var noCallback = callback && list[i] !== callback;
var noContext = context && list[i + 1] !== context;
if(! noCallback && ! noContext){...}
或者按照评论中的建议删除否定:
var callbackCheck = !callback || list[i] === callback;
var contextCheck = !context || list[i + 1] === context;
if(callbackCheck && contextCheck ){...}
关于javascript - 简化复杂的if语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11818305/