gpt4 book ai didi

javascript - 如何监控 Javascript 对象的新属性设置

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:35:20 26 4
gpt4 key购买 nike

每当在 Javascript 对象上设置 属性时,我如何获得回调...?
IE。我不知道将要设置哪些属性,但希望对所有已设置的属性 进行回调。

我想要的是

var obj = {};
obj.a = "something"; // triggers callback function

function callback(obj,key,val) {
console.log(key + " was set to " + val + " on ", obj);
}

这可能吗?

最佳答案

您可以使用新的 defineProperty :

function onChange(propertyName, newValue){
...
}

var o = {};

Object.defineProperty(o, "propertyName", {
get: function() {return pValue; },
set: function(newValue) { onChange("propertyName",newValue); pValue = newValue;}});

但是要看你需要支持的浏览器版本。

编辑:在 Jsfiddle 上添加了片段,适用于 IE10。 http://jsfiddle.net/r2wbR/

关于javascript - 如何监控 Javascript 对象的新属性设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15161508/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com