Аргументом в VB.func приходит строка, допустим, 'Int', вам нужно сразу проверить наличие одноимённого метода - если if(VB[func]) {...}, то сразу вернуть VB[func], если нет, то ваш этот eval через Function с одновременным созданием отсутствующего метода, который и возвращается как-нибудь так - return (VB[func] = Function(...)). Соответственно, последующие вызовы с этим аргументом VB.func('Int') не приведут к созданию функции...
Цитата:
|
Если VB[func]=f, это же не значит что VB.f теперь объявится, всего лишь станет VB.func == f.
|
Будет создан метод объекта VB с именем, взятым из func и значением из f.