前些天在《浅谈 JSON.stringify 方法》说了他的正确使用姿势,今天来说下 toJSON 方法吧。
其实我觉得这货跟 toString 一个道理,他是给 stringify 方法字符串化的时候调用的。
看下 MDN 官方文档吧《toJSON behavior》。
非常简单,但是要注意的是他和 stringify 方法第二个参数稍微有点不同。
因为 stringify 第二个参数是回调函数时,只是对当前 key 对应的值进行修改。
而 toJSON 则是对当前对象进行修改。
例如:

var obj = {
key: 'foo'
};
var ret = JSON.stringify(obj, function (k, v) {
return k === "key" ? v.toUpperCase() : v;
});
console.log(ret); var obj = {
key: 'foo',
toJSON: function () {
return 'bar';
}
};
var ret = JSON.stringify(obj);
console.log(ret);

区别非常明显,toJSON 的返回值直接代替了当前对象,而 stringify 的回调函数则仅仅是修改了当前值。

当然他们有各自的用处,所以看需求选择使用就好。

好了,今天就简单分享下这些吧。

最新文章

  1. ES6 will change the way you write JS code.
  2. iOS 获取网络图片的大小
  3. 内核编译选配(VMware篇)
  4. 常用jQuery代码03
  5. python 练习 5
  6. CentOS下php使用127.0.0.1不能连接mysql的解决方法
  7. DirectX Sample-ConfigSystem中采用配置文件进行游戏设置
  8. 现在都是python 单独开发框架 执行脚本,处理结果,发报告之类的
  9. 数据库读写分离Amoeba
  10. 使用django UWSGI 出现 Bad Request (400)
  11. PyQt4中的Treeview
  12. [Abp vNext 源码分析] - 文章目录
  13. 浅析Servlet执行原理
  14. 自己实现的typeOf函数1
  15. [Swift]LeetCode872. 叶子相似的树 | Leaf-Similar Trees
  16. 今天终于想明白为什么java包要倒着写
  17. oracle对日期date类型操作的函数
  18. 连接SQL常见问题
  19. β particle, α particle, γ ray, ionization chamber
  20. U811.1接口EAI系列之五--材料出库--VB语言

热门文章

  1. DES的加密与解密算法(Python实现)
  2. 2-Nineteenth Scrum Meeting-20151219
  3. 作业三:LINUX内核的启动过程
  4. 课堂讨论——Alpha版总结会议
  5. Daily Scrum 10.22
  6. 团队作业五之旅游行业手机APP分析
  7. 中间件——dubbo
  8. OneZero第四周——预完成功能点统计
  9. Delphi DBGrid记录全选和反选拖动处理
  10. Java对象与Map间相互转换