你能从underscore.js的这个声明中解释一下吗:
_.every = _.all = function(obj, iterator, context) {
var result = true;
each(obj, function(value, index, list) {
---> if (!(result = result && iterator.call(context, value, index, list)))
return breaker;
});
return !!result;
};
我不明白这条线(result = result && iterator.call...
为什么他需要result
在平等的右边。作者是否只想转换iterator.call(...)
为布尔值?例如他想做的只是
if (!(result = !!iterator.call(context, value, index, list))) // "!!" used