�� ------
					if (!isObject(data)) {
						return data;
					}
					// 2  ------引用数据类型 ------
					if (map.has(data)) {
						return map.get(data); // 已处理的数据直接返回
					}
					// 2-1 特殊类型
					if (data instanceof RegExp) {
						return new RegExp(data);
					}
					if (data instanceof Date) {
						return new Date(data.getTime());
					}
					if (data instanceof Function) {
						return data;
					}
					// 2-2 数组和对象
					const result = Array.isArray(data) ? 