2012-09-27 211 views
0

如何創建一個接受值並根據接收到的值創建監視文件偵聽器的函數?NodeJS:將變量傳遞給另一個變量的名稱

的什麼,我試圖做例子:

function createListener(id) { 
    var listener(id here) = fs.watchFile(file, function() { 
    }); 
}); 

我怎麼可能把給定的功能createListener();到聽者的分配變量id

例:createListener('5');將創建var listener5 = fs.watchFile();

createListener('23');將創造var listener23 = fs.watchFile();

+2

你確定這就是你以後在做什麼?即使你可以創建它,該變量也是本地函數。將密鑰設置爲ID的對象是否不夠用?然後你可以做'watching = {};看[id] = fs.watchFile(); var listener =正在觀看[id];' –

回答

2

您可以使用eval來創建動態的變量名

,但它是壞的部分的JavaScript強烈建議不要使用eval所有。


我建議你使用任何數組或JSON對象來存儲多種功能。

陣列

var functions = []; 
functions.push = function() { ... }; 

// functions = [ function() { ... } ]; 

JSON

var functions = {}; 
functions["one"] = function() { ... }; 

// functions = { one: function() { ... } };