Я немного погуглил, но эта конкретная проблема слишком похожа на "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, потому что он работает, чтобы ответить на большинство ваших вопросов и проблем; я попробовал большинство предложенных методов, все из которых либо не передавали переменную в область видимости вызывающего места, либо требовали закрытия, которое сохранялось со значением переменной последней функции, к сожалению, у меня нет контроля над остальной частью кода, поэтому я не могу вносить изменения в место, где функция в конечном итоге вызывается.
Возможно, это временное решение; я знаю, насколько уродлив разбор строк для функций. Что касается совместимости с браузером, то эта функция будет работать только в одном окружении, поэтому я думаю, что мы в полной безопасности.
В любом случае, еще раз спасибо за быстрые ответы и обсуждение.