当前与代理进行一些工作,要求将所述代理存储在数组中,然后在调用某个函数时从该数组进行访问。所讨论的功能用于将对象的值重新分配给完全不同的对象。
即:

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时会显示属性分配。

任何人都可以了解这里发生了什么吗?

最佳答案

您只需为数组的元素分配一个值。

07-28 03:45