我最近使用了一個名爲Kue的node.js的庫。
我希望得到一些更好的理解這是怎麼回事,所以我開始閱讀我無意中發現了一塊代碼的代碼......Javascript - 函數的功能?
,我的腦子裏「WTF!?!@ $ @!$」。 ..
這是代碼:
function get(obj) {
var pending = 0
, res = {}
, callback
, done;
return function _(arg){
switch (typeof arg) {
case 'function':
callback = arg;
break;
case 'string':
++pending;
obj[arg](function(err, val){
if (done) return;
if (err) return done = true, callback(err);
res[arg] = val;
--pending || callback(null, res);
});
break;
}
return _;
};
}
其中正在使用這樣的:
exports.stats = function(req, res){
get(queue)
('inactiveCount')
('completeCount')
('activeCount')
('failedCount')
('delayedCount')
('workTime')
(function(err, obj){
if (err) return res.send({ error: err.message });
res.send(obj);
});
};
。
。
。
這些功能在功能上?!
他們怎麼知道對方?
函數第7行的'_'(下劃線)是什麼?
有人可以幫我解釋一下那邊有什麼? :)
在Javascript中,你可以做到這一點。你也可以將一個函數傳遞給另一個函數,就像其他語言的變量一樣。 – 2013-04-22 00:11:08
'_'是函數名稱。它就像任何其他函數名稱一樣,只是一個非常簡短的名字。 – Pokey 2013-04-22 00:17:32