gpt4 book ai didi

javascript - 动态改变功能可以吗?

转载 作者:行者123 更新时间:2023-11-28 00:23:33 26 4
gpt4 key购买 nike

我有:

var diagram = {
init: function(name) {
this._name = name;
},

update: function(params) {
var selector = 'diagram_name_' + this._name;

this.update = function(params) {
app.updateBlock(selector, params);
};

this.updateDiagram(params);
};

diagram.update(); // caches `selector`
diagram.update(); // uses cached `selector`

diagram 对象具有方法update。此方法使用selector变量。第一次调用 update() 时,我缓存此变量并更改 update 方法,以便下次调用它时,此方法将使用缓存的 selector

我想知道这种方法在性能方面是否可行(以及是否完全可行)。有什么想法吗?

附注

我知道我可以创建私有(private)字段_selector并在init方法期间执行this._selector = 'diagram_name_' + name,但是这种方法创建仅由一种方法使用的私有(private)字段,感觉不对。

最佳答案

更好的方法可能是在对象上缓存选择器:

this._selector || (this._selector = "value");

这样,魔法就少了,您仍然可以访问所有旧数据,而不是使其消失。

您可能还想检查称为 memoization 的技术。 ,这个问题已经被解决了很多次(以避免自己动手)。

关于javascript - 动态改变功能可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29759554/

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