javascript 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
发布于 2018-08-24 05:04:00
您可以使用Object.assign()
将所有可枚举的own属性复制到绑定函数中。
var obj = function(){/*some code logic */}
obj.a = 1;
var boundedObj = obj.bind(obj);
Object.assign(boundedObj, obj)
console.log(boundedObj.a);
https://stackoverflow.com/questions/51993837
复制相似问题