2012-07-26 42 views
0

我一直在尋找underscore.js庫函數,我注意到一個函數返回元素是否是DOM元素。該功能如下。Underscore.js _.isElement函數

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

能否請你告訴我,爲什麼!!被用來代替剛剛返回(obj && obj.nodeType == 1)。我想知道是否!!增加任何性能改進。任何想法...

回答

5

!!強制結果是一個布爾值。

例如,如果您通過null,則&&將返回null!!將其轉換爲false

如果obj是「truthy」,您將得到obj.nodeType == 1這是一個布爾值的結果。

+0

'null'參數是一個很好的例子...謝謝 – scusyxx 2012-07-26 19:12:04