2014-01-20 5 views
0

Привет Я хочу создать несколько функций, которые работают аналогично, но используют немного другое значение. Я не могу изменить параметры, потому что Я использую их для обратного вызова библиотеки. Моя первая мысль:Создать пользовательскую функцию javascript

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

Это явно копирует refence из i функции, но я скорее хочу ценить в то время, так что каждая функция выводит другое значение. Я ценю вашу помощь.

ответ

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 функции, имеющие разные значения (эта идея из «, но использовать немного другое значение "). –

Смежные вопросы