2014-01-20 155 views
0

您好我想創建幾個工作相似但功能稍有不同的函數。我無法更改參數,因爲我將這些用於庫的回調。我最初的想法:創建自定義JavaScript函數

for(i = 0; i < 3; i++) { 
    f = function() { 
    console.log(i); 
    }; 
} 

這顯然副本i的功能refence但我寧願想當時值,使每個功能輸出不同的值。我感謝您的幫助。

回答

2

你可以試試這個方法:

var f=[];  
for(i = 0; i < 3; i++) { 
     f[i] = (function(index) { 
      return function() {   
       console.log("My value: " + index); 
      } 
     })(i); 
    } 

工作演示here

+0

我會嘗試一下 – henje

+0

你檢查演示,這將產生具有不同的值(這個想法來自於3個功能「,但使用稍有不同的價值「)。 –