我正在尝试toJSON
在原型对象上定义一个不可枚举的函数,但运气不佳。我希望有类似于 ECMAScript 5 的东西toJSON
:
Object.defineProperty(obj, prop, { enumerable: false });
但是,这将其定义为不能作为方法访问的属性。
[编辑:尼克错了;它可以作为一种方法访问。他的错误在于此问题中未显示的代码 - 有关详细信息,请参阅他对下面答案的评论。]
我希望能够以不可枚举的方式定义函数,因为我计划在所有原始类型(、、、、和)的原型中定义,String
这样我Number
就可以通过复杂的对象递归地应用函数。Boolean
Array
Object
这里的最终目标是能够递归地对带有嵌套集合的 Backbone 模型/集合进行 JSON 化。
我想我总共有两个主要问题:
- 是否可以在原型上定义不可枚举的函数?如果有怎么办?
- 有没有更好的方法来 JSONify 嵌套的 Backbone 模型?