gpt4 book ai didi

javascript - 克隆对象时重新绑定(bind)函数的问题

转载 作者:行者123 更新时间:2023-11-30 20:17:03 29 4
gpt4 key购买 nike

我有一个具有对象类型属性的对象,其中之一包含绑定(bind)到“基础”对象的函数。当我现在尝试克隆该“基础”对象时,我还克隆了类型对象的每个属性以确保没有对旧数据的引用,并且我还尝试将提到的函数绑定(bind)到新的克隆对象(因为它们使用此引用),但是当我更改克隆中的某些值并使用这些函数之一时,它们似乎仍然绑定(bind)到旧的“基础”对象。

有人知道为什么会这样吗?

最佳答案

如果这是关于尝试“重新绑定(bind)”由 Function.prototype.bind() 调用绑定(bind)的函数,那么您就不走运了。

bind() 创建了 函数包装器 - 围绕原始函数及其 this 的闭包。与任何其他“封闭”变量一样 - 您根本无法访问它们,因此无法从外部更改它们。所以你不能“重新绑定(bind)”绑定(bind)函数。

检查:Can you rebind a rebound function using `bind`

关于javascript - 克隆对象时重新绑定(bind)函数的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51827330/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com