首页 > 网站 > WEB开发 > 正文

浅谈 js 对象 toJSON 方法

2024-04-27 14:20:56
字体:
来源:转载
供稿:网友

浅谈 js 对象 toJSON 方法

前些天在《浅谈 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 的回调函数则仅仅是修改了当前值。

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

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


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表