gpt4 book ai didi

javascript - 使用 javascript 绑定(bind)方法保留函数属性

转载 作者:行者123 更新时间:2023-12-03 01:16:28 24 4
gpt4 key购买 nike

javascript bind 方法返回一个绑定(bind)对象,但返回的对象不包含原始对象的任何属性。

如果在原型(prototype)对象上设置了属性,我可以使用 Object.setPrototypeOf 来恢复所有属性,但是我不知道如何对函数上的属性执行相同的操作本身。

var obj = function(){/*some code logic */}
obj.a = 1;
var boundedObj = obj.bind(obj);
boundedObj.a; //returns undefined

var boundedObj2 = Number.bind(Number);
boundedObj2.EPSILON// returns undefined
Object.setPrototypeOf(boundedObject2, Number);
boundedObj2.EPSILON // returns the epislon value

最佳答案

您可以使用Object.assign()将所有可枚举的自有属性复制到绑定(bind)函数。

var obj = function(){/*some code logic */}
obj.a = 1;
var boundedObj = obj.bind(obj);
Object.assign(boundedObj, obj)
console.log(boundedObj.a);

关于javascript - 使用 javascript 绑定(bind)方法保留函数属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51993837/

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