0

我一直在寻找 underscore.js 库函数,我注意到一个函数返回元素是否是 DOM 元素。函数如下。

_.isElement = function(obj) {
    return !!(obj && obj.nodeType == 1);
};

你能告诉我为什么!!被使用而不是仅仅返回(obj && obj.nodeType == 1)。我想知道是否!!增加了任何性能改进。任何的想法...

4

1 回答 1

5

!!强制结果为布尔值。

null例如,如果您通过,&&则将返回null。将其!!转换为false.

如果obj是“真实的”,你会得到obj.nodeType == 1一个布尔值的结果。

于 2012-07-26T19:01:53.487 回答