Ответ 1
если имя свойства хранится в переменной, используйте []
foo[method]();
Можно ли динамически вызывать метод объекта с именем метода в виде строки? Я бы предположил, что это так:
var FooClass = function() {
this.smile = function() {};
}
var method = "smile";
var foo = new FooClass();
// I want to run smile on the foo instance.
foo.{mysterious code}(); // being executed as foo.smile();
если имя свойства хранится в переменной, используйте []
foo[method]();
Доступ к свойствам объектов можно получить через нотацию массива:
var method = "smile";
foo[method](); // will execute the method "smile"
метод может быть вызван с eval eval("foo." + method + "()");
может быть не очень хорошим способом.