Я не думаю, что методы сериализации - это хорошая идея. Если вы намереваетесь запустить код на стороне сервера, вы открываете себя для атак. Если вы хотите запустить его на стороне клиента, вам лучше использовать только локальные методы, возможно, ссылаясь на имя метода, который вы собираетесь использовать в сериализованных объектах.
Я верю, что "f = "+function() {}
даст вам строковую версию, которую вы можете оценить:
var test = "f = " + function() { alert("Hello"); };
eval(test)
И для хорошей обработки json я бы порекомендовал прототип, в котором есть отличные методы для сериализации объектов в json.