我有一段JavaScript代码显示:
function(next, feather) {
  var l = Number(171) + (next || 0);
  var m = Math.max(1, l - 9);
  return {
    lc: 300 * (l + 1) * m + (5 * feather || 0)
  }
}
现在我已经简化了一点.但任何人都可以解释"|| 0"的作用吗?据我所知,它什么也没做.
(注意我用Number(171)替换了一个函数,因为该函数有效地返回一个数字,羽毛也应该是一个数字,大部分时间是0,有时是1).
好吧,如果你知道 next并且feather是数字,那么是的,它没有任何功能.但是,如果你要传递一个类似的值undefined,这实际上是在没有指定任何参数的情况下调用函数会发生的情况,你会看到一些区别:
var next = undefined;
console.log(171 + next);        // NaN
console.log(171 + (next || 0)); // 171
当然,这不是一个万无一失的方法.传递null对计算没有影响,并通过一个非空字符串(例如"1"),将导致一些非常不同的.
| 归档时间: | 
 | 
| 查看次数: | 136 次 | 
| 最近记录: |