Преобразование строки в функцию в javascript

Я немного погуглил, но эта конкретная проблема слишком похожа на "how do i evaluate function names from strings", поэтому у меня проблемы с поиском решения, я хочу преобразовать строку в функцию, скажем, у меня есть что-то вроде:

for (var i = 0; i < someNumber ; i++) {
    var foo = "function() { someObject.someOtherFunctionCall(" + i + ") }";
    someArray[i] = foo;
}

how would I typecast foo so I could call

someArray[0]();

Мне нужно значение, запеченное в функцию, есть идеи?

EDIT: Я просто заменил "value" на "i", извиняюсь за путаницу

UPDATE:

Хорошо, я принял ответ icktoofay, потому что он работает, чтобы ответить на большинство ваших вопросов и проблем; я попробовал большинство предложенных методов, все из которых либо не передавали переменную в область видимости вызывающего места, либо требовали закрытия, которое сохранялось со значением переменной последней функции, к сожалению, у меня нет контроля над остальной частью кода, поэтому я не могу вносить изменения в место, где функция в конечном итоге вызывается.

Возможно, это временное решение; я знаю, насколько уродлив разбор строк для функций. Что касается совместимости с браузером, то эта функция будет работать только в одном окружении, поэтому я думаю, что мы в полной безопасности.

В любом случае, еще раз спасибо за быстрые ответы и обсуждение.

5
задан Waltzy 24 November 2011 в 22:51
поделиться