查看 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/