Javascript 有没有办法创建一个全局setter?

Javascript 有没有办法创建一个全局setter?,javascript,Javascript,我需要的是有一个函数,每次执行赋值时都会调用该函数,例如: var a = b; c = d; // or even for(var i=3...){} 我可以有如下功能: function assigned(nameL, valL, nameR, valR){ } 我对此没有太高的期望,我也承认它可能会大大降低速度,但我只需要出于调试目的使用它。Object.defineProperty(窗口,“varname”,{set:callbackfunction};是一个不错的选择 有没有办法

我需要的是有一个函数,每次执行赋值时都会调用该函数,例如:

var a = b;
c = d;
// or even 
for(var i=3...){}
我可以有如下功能:

function assigned(nameL, valL, nameR, valR){
}

我对此没有太高的期望,我也承认它可能会大大降低速度,但我只需要出于调试目的使用它。

Object.defineProperty(窗口,“varname”,{set:callbackfunction};
是一个不错的选择

有没有办法创建一个全局setter

没有

ECMAScript2015引入了一种允许您进行“元编程”的方法,但它不能按照您想要的方式工作

代理对象用于定义基本操作(例如属性查找、赋值、枚举、函数调用等)的自定义行为


没有。但是有代理:@unlucky13,我想这是最接近的一个!可以。你能把评论变成一个答案让我接受吗?我知道这一点。我的意思是如何为每个变量创建一个setter,即使是那些你不知道的变量?即使是那些已经声明到位的变量,比如“var a=b”?不管它不是我想要的100%,至少它允许我跟踪任意变量的赋值。谢谢。