使用 JSON.stringify 实现深拷贝

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
let jsonStr = JSON.stringify(
{
undefind: window.vvvv,
null: null,
name: 'Leo',
site: 'https://xuebin.com',
fun: function() {
console.log(this.name, this.site)
},
},
(key, value) => {
return typeof value === 'function' ? '' + value : value === undefined ? 'undefined' : value
},
2,
)

console.log(jsonStr)

let jsonObj = JSON.parse(jsonStr, (key, value) => {
try {
return eval('(' + value + ')')
} catch (e) {
return value
}
})

console.log(jsonObj.fun())
坚持原创技术分享,您的支持将鼓励我继续创作!
  • 本文作者: Leo
  • 本文链接: https://xuebin.me/posts/999ba2f1.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!