function cloneFunction(func)?{
const bodyReg = /(?<={)(.|\n)+(?=})/m
const paramReg = /(?<=\().+(?=\)\s+{)/
const funcString = func.toString()
if (func.prototype)?{
const param = paramReg.exec(funcString)
const body = bodyReg.exec(funcString)
if (body)?{
if (param)?{
const paramArr = param[0].split(',')
return new Function(...paramArr, body[0])
} else {
return new Function(body[0])
}
} else {
return null
}
} else {
return eval(funcString)
}
}
const bodyReg = /(?<={)(.|
)+(?=})/m
const paramReg = /(?<=().+(?=)s+{)/
这两个表达式有向后匹配<= 报错,怎么修改,可以不用你 <=
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…