我正在讀一本關於使用node,backbone和mongodb構建web應用程序的書。我從書中拿到樣本,並遇到一段代碼,令我困惑。JavaScript邏輯運算符作爲函數的參數
var login = function(email, password, callback) {
var shaSum = crypto.createHash('sha256');
shaSum.update(password);
Account.findOne({email:email,password:shaSum.digest('hex')},function(err,doc){
callback(null!=doc);
});
};
看回調函數零點的說法!=醫生,我知道,在JavaScript的平均空不等於文檔,但怎麼來的,你可以在使用它作爲參數。
'空= doc'被作爲一個布爾值,並將結果傳遞給回調,僅此而已。這與'var docIsNull = null!= doc; callback(docIsNull);' – Ian 2013-05-11 18:33:15
^^^^^他說,評估一個表達式會返回一個布爾值,不管它是否在單獨的變量中發生,或者直接無關緊要,它仍然將結果布爾值傳遞給回調函數。 – adeneo 2013-05-11 18:37:15
@Ian:您的評論應該被接受爲答案。 :) – mithunsatheesh 2013-05-11 18:37:58