2013-09-21 70 views
2

我有這樣的代碼(使用node_redis):我可以在回調中使用已經使用的變量名嗎?

client.sismember(someRecord, someArray, function(err, res) { 
    if(res) { /* some code */ } 
    else { 
     client.sismember(otherRecord, otherArray, function(err, res) { 
      /* some code */ 
     } 
    } 
} 

我應該重新命名第二個回調函數的參數還是會正常工作?

回答

0

您不需要使用不同的變量名稱,除非您打算讓內部函數引用外部函數的變量。至於你是否「應該」重命名它們,如果函數真的很短,那麼哪個是哪個是相當清楚的,但是如果「某些代碼」確實很長,那麼如果它們使用不同的名稱可能會更清楚。

2

它會正常工作;內部函數中的變量將影響來自外部函數的變量。

您可能想要重命名變量。這樣可以更容易地查看在哪裏使用了哪些內容,並且可以在內部函數中使用外部函數中的變量(如果需要的話)。

0

是的,你可以,這是完全有效的,因爲或他們的範圍,但會更好,如果名稱不同,以便他們在不久的將來不會混淆你

相關問題