我一直在寻找underscore.js库函数,并且注意到有一个函数返回该元素是否为DOM元素。该功能如下。
_.isElement = function(obj) {
return !!(obj && obj.nodeType == 1);
};
您能告诉我为什么使用
!!
而不是仅仅返回(obj && obj.nodeType == 1)
的原因。我想知道!!
是否增加了任何性能改进。任何想法... 最佳答案
!!
强制结果为布尔值。
例如,如果传递null
,则&&
将返回null
。 !!
将其转换为false
。
如果obj
是“ truthy”,则将得到obj.nodeType == 1
的结果,它是一个布尔值。