У меня есть объект, например, так:Вызов метода с использованием строк
var x = {
"fx": function() {...}
}
У меня есть имя объекта (y = "x"
) и функции (z = "fx"
) и иметь их как строки.
Я знаю, что могу вызвать функцию посредством использования Eval по следующему способу или аналогично:
eval(y.z)
Однако, я хотел бы, чтобы избежать использования Eval для достижения этой цели. Я знаю, что метод прототипа apply
принимает функцию и применяет ее к объекту, однако поиск ссылки на функцию невозможно, поскольку функция содержится внутри объекта.
Я знаю, что эта проблема не новая и, следовательно, должна иметь решение, но я не могу ее найти. Любая помощь будет оценена по достоинству.
Почему вы назначаете 'у = "х" '? Вы можете использовать 'x [z]()', 'eval' is bad и его следует избегать – Tushar
Я просто использую это, чтобы представить, что имя объекта является строкой; Я не использую eval каким-либо образом или формой. – Carey