javascript - 为什么要返回 !!var JavaScript?

标签 javascript jquery sizzle

查看 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;
  }
}

有人对此有任何了解吗?

最佳答案

它确保返回类型是 bool 值,而不是其他类型。

关于javascript - 为什么要返回 !!var JavaScript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15088818/

相关文章:

javascript - 逻辑非运算符 (!) 将类添加到错误按钮的问题

javascript - 是否有任何网络浏览器插件可以访问机器的命令行? (供本地使用)

javascript - 如何使用 jQuery 提取单个句子?

javascript - 禁用具有给定类的网格单元的简洁方法

javascript - document.documentElement.msRequestFullscreen() 返回未定义

javascript - 在 div 外部单击时调用 jQuery 显示/隐藏函数

javascript - L.geoJSON - 如何使用更多 L.geoJSON 坐标处理多个引用文件?

javascript - 用于查找 html 元素的 CSS 选择器

javascript - jQuery 选择器,效率

javascript - 为什么 uploadcare 每 N 毫秒重绘 html 标签?