Есть ли способ создать функцию с реальным именем, определенным во время выполнения без использования eval
, и используя только чистый JavaScript? (Таким образом, нет сгенерированных элементов script
, поскольку они специфичны для среды браузера [и во многих отношениях были бы eval
в масках в любом случае], без использования нестандартных функций одного конкретного механизма JavaScript и т.д.)
Обратите внимание, что я специально не спрашиваю об анонимных функциях, на которые ссылаются переменные или свойства с именами, например:
// NOT this
var name = /* ...come up with the name... */;
var obj = {};
obj[name] = function() { /* ... */ };
Там, когда свойство объекта имеет имя, функция не работает. Анонимные функции хороши для многих вещей, но не то, что я ищу здесь. Я хочу, чтобы функция имела имя (например, отображалась в столах вызовов в отладчиках и т.д.).