gpt4 book ai didi

Javascript,当对象的属性改变时回调?

转载 作者:行者123 更新时间:2023-11-29 15:04:17 24 4
gpt4 key购买 nike

javascript 中的函数是对象:

var x = function(){};
x.y = 1;
console.log(x.y); //Prints 1

有什么方法可以在 y 改变时调用函数吗?

我这样做的原因是我试图覆盖 jquery 的“$”函数,以便我可以对性能进行基准测试。当 JS 运行 $('mySelector') 时它工作正常。但是,使用 $.fn.myPlugin 创建的插件将更改我覆盖的对象中的属性,而不是原始对象中的属性。

最佳答案

我相信您正在寻找的是 JavaScript setters 。小心研究浏览器支持困难。

以下示例来自 MDN 文档。首先,当您创建自己的对象时:

var o = {a: 7,
get b() {return this.a + 1;},
set c(x) {this.a = x / 2}};

其次,当您扩充现有原型(prototype)时:

var d = Date.prototype;
d.__defineGetter__("year", function() { return this.getFullYear(); });
d.__defineSetter__("year", function(y) { this.setFullYear(y); });

关于Javascript,当对象的属性改变时回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5495797/

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