js如何传递在一次循环引用中,传递值?
作者:互联网
js如何传递在一次循环引用中,传递值?
外面放一个全局变量,可以使用对象或者map将值放入其中,然后第二个函数里使用键引用即可;
const weakMap = new WeakMap() //解决对象的循环引用; export function deepClone(originValue) { const toString = Object.prototype.toString //2.引用数据类型object if (toString.call(originValue) === '[object Object]') { const newObj = {} //2.0循环引用问题 if (weakMap.has(originValue)) return weakMap.get(originValue) //如果map中已经有了这个引用,则直接返回map里的这个值即可; weakMap.set(originValue, newObj)return newObj } }
let obj = {foo:'bar'};
obj.circular = obj; //设置循环引用
deepClone(obj)
标签:obj,weakMap,js,传递,originValue,引用,const,newObj 来源: https://www.cnblogs.com/EricShen/p/16248756.html