[英]Proxy object not being re-assigned JavaScript
目前正在使用Proxies进行一些工作,该代理要求将所述代理存储在一个数组中,然后在调用某个函数时从该数组访问。 有问题的函数用于将对象的值重新分配给完全不同的东西。 即:
function proxChange(proxies, index, val) {
proxies[index] = val;
}
var a = new Proxy({}, {//Handler stuff});
var proxies = [];
proxies.push(a);
proxChange(proxies, 0, 2);
理论上, a
现在应该只是2,但它仍然是原始代理。 然而,有趣的是,如果我为代理的属性分配一个值,即: proxies[index]['prop'] = val
,则在检查a
时显示属性赋值。
谁能理解这里发生了什么?
您只需为数组的元素赋值。
function proxChange(proxies, index, val) { proxies[index] = val; } var a = new Proxy({}, {}); var proxies = []; proxies.push(a); proxChange(proxies, 0, 2); console.log(typeof a, a); console.log(typeof proxies[0], proxies[0]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.