为什么 StructuredClone 不复制 Function 对象?

Bye*_*oon 7 javascript

MDN表示“结构化克隆算法无法复制函数对象;尝试抛出 DataCloneError 异常。”

为什么使用StructuredClone()复制函数对象会发出错误?

Sam*_*jig 7

如果你读过MDN/structuredClone,它说

例外情况

DataCloneError DOMException

  • 如果输入值的任何部分不可序列化,则抛出该异常。

有关为什么函数不可序列化,请参阅此处:为什么函数不可序列化?

根据我对这些答案的理解,TL;DR 是因为函数可以转换为字符串,但函数中引用的超出范围的变量/函数会导致问题。