繁体   English   中英

代理对象未重新分配JavaScript

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM