Мне понятно, что создание анонимной функции с помощью new Function это тот же eval.
Решил спросить потому, что кроме eval в голову приходил вариант с возвратом ссылки на метод:
var Test = {
Test : function(){ alert( 'Hello' ) }
}
var v = 'Test.Test';
//для простоты без всяких проверок
function _( v ){
var w = window;
v = v.split( '.' );
for( i in v ) w = w[ v[ i ] ]
return w;
}
alert( typeof _( 'Test.Test' ) ); //function
//вызов
_( 'Test.Test' )(); //Hello
Хотелось как-то попроще, думал синтаксис позволяет. Наверное мой случай это когда надо использовать eval. Для простоты.