В своем текущем состоянии JavaScript не поддерживает именно ту функциональность, которая вам требуется.Пост в комментарии дает подробную информацию о том, что можно и нельзя делать.Однако, если вы хотите отказаться от использования метода «.», Вот пример кода, близкий к тому, что вы хотите:
var o =
{
show: function(m)
{
alert(m);
},
invoke: function(methname, args)
{
try
{
this[methname](args);
}
catch(e)
{
alert("Method '" + methname + "' does not exist");
}
}
}
o.invoke("show", "hello");
o.invoke("sho", "hello");
Вывод:
привет
Метод 'шо' не существует