【问题标题】:Why return !!var JavaScript? [duplicate]为什么返回 !!var JavaScript? [复制]
【发布时间】:2013-02-26 20:17:13
【问题描述】:

查看 Sizzle.js 后,我注意到他们有一个断言函数(见下文),它返回 !!fn(x)

为什么会有人这样做?这样做似乎毫无意义,因为它只是"not not"

function assert( fn ) {
  var div = document.createElement("div");

  try {
    return !!fn( div );
  } catch (e) {
    return false;
  } finally {
    // release memory in IE
    div = null;
  }
}

有人对此有所了解吗?

【问题讨论】:

  • AFAIK 这是一种将“转换”为布尔值的方法,但也许对此有更深入了解的人可以详细说明..
  • 抱歉,我确实查看了另一个类似的问题,但找不到,它可能与另一个问题重复。

标签: javascript jquery sizzle


【解决方案1】:

它确保返回类型是布尔值,没有别的。

【讨论】:

  • 谢谢,是的,我也刚刚测试过。感谢您的回答!
  • JavaScript中没有bool,布尔型更合适
猜你喜欢
  • 2020-03-25
  • 2012-08-09
  • 2019-12-15
  • 2016-09-06
  • 2011-05-22
  • 1970-01-01
  • 2014-05-11
  • 2020-03-19
  • 1970-01-01
相关资源
最近更新 更多