javascript – 有没有可能JSON.stringify保留功能?

前端之家收集整理的这篇文章主要介绍了javascript – 有没有可能JSON.stringify保留功能?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
拿这个对象:
x = {
 "key1": "xxx","key2": function(){return this.key1}
}

如果我这样做:

y = JSON.parse( JSON.stringify(x) );

那么y将返回{“key1”:“xxx”}.有什么可以通过stringify传递函数吗?使用“ye goode olde eval()”创建一个附加功能的对象是可能的,但是打包它是什么?

解决方法

您不能打包功能,因为它们关闭的数据对于任何串行器都不可见.
即使Mozilla的不安也不能正确地关闭.

你最好的选择是使用reviver和替代品.

http://developer.yahoo.com/yui/examples/json/json_freeze_thaw.html

The reviver function passed to JSON.parse is applied to all key:value pairs in the raw parsed object from the deepest keys to the highest level. In our case,this means that the name and discovered properties will be passed through the reviver,and then the object containing those keys will be passed through.

原文链接:https://www.f2er.com/js/151970.html

猜你在找的JavaScript相关文章