function deepClone (val) {
const Ctor = val.constructor
if (isDate(val)) {
return new Ctor(+val)
} else if (isRegExp(val)) {
const reFlags = /\w*$/;
// 此处不用flags的原因在于flags方法返回的修饰符是按照字母顺序排列的
const reg = new Ctor(val.source, reFlags.exec(val))
reg.lastIndex = val.lastIndex
return reg
}
}
js 深拷贝正则和Date
于 2022-10-12 15:40:49 首次发布