Что такое быстрый способ клонирования функции в JavaScript (с ее свойствами или без нее)?
Два возможных варианта: eval(func.toString())
и function() { return func.apply(..) }
. Но я беспокоюсь о производительности eval и wrapping, что сделает стек хуже и, вероятно, ухудшит производительность, если его применить много или применить к уже завернутому.
new Function(args, body)
выглядит красиво, но как точно я могу надежно разделить существующую функцию на args и body без JS-парсера в JS?
Спасибо заранее.
Update: Я имею в виду, что я могу делать
var funcB = funcA.clone(); // where clone() is my extension
funcB.newField = {...}; // without affecting funcA