Função não enumerável de JS

Estou tentando definir um não-enumeráveltoJSON função em um objeto de protótipo sem muita sorte. Eu estou esperando por algo semelhante ao ECMAScript 5toJSON:

Object.defineProperty(obj, prop, { enumerable: false });

No entanto, isso define como uma propriedade que não pode ser acessada como um método.

Eu estava esperando poder definir a função de forma não enumerável, como eu estava planejando definir nos protótipos de todos os tipos primitivos (String, Number, Boolean, ArrayeObject), para que eu possa recursivamente aplicar a função através de objetos complexos.

O objetivo final aqui é poder JSONify um modelo / coleção de Backbone com coleções aninhadas recursivamente.

Eu acho que no total eu tenho duas perguntas principais:

É possível definir uma função não enumerável em um protótipo? Se sim como?Existe uma maneira melhor de JSONify modelos de Backbone aninhados?

questionAnswers(2)

yourAnswerToTheQuestion