gpt4 book ai didi

Javascript 将属性值缓存到变量中

转载 作者:行者123 更新时间:2023-11-30 06:00:12 30 4
gpt4 key购买 nike

我有一个简单的只读 JSON 对象,具有一些属性,我想知道是否值得将其属性缓存到变量中?目前我们像这样使用它们:jsonObject.somePropety,我正在考虑将它们缓存到像这样的变量中:var somePropertyValue = jsonObject.somePropety; 并在所有 future 使用该 var引用。

最佳答案

就看你如何判断这个问题的“值(value)”了。

如果重复使用相同的属性,缓存属性应该有一些理论上的性能提升,但我怀疑除非您循环数千次,否则用户不会注意到这种差异。

缓存属性可以让你的代码更漂亮,例如,如果你在一个特定的代码块中多次引用同一个属性,你可以在开始时缓存它 - 特别是如果你有嵌套像这样的对象:

jsonObject.nestedObject.doSomething();
jsonObject.nestedObject.doAnotherThing();
alert(jsonObject.nestedObject.someProperty);

//compared with:
var nObj = jsonObject.nestedObject;
nObj.doSomething();
nObj.doAnotherThing();
alert(nObj);

我发现后者更容易输入和阅读(至少,如果变量 nObj 有一个更有意义的名字,它会更容易阅读,但显然这只是一个通用的例子) .

但是,我不会将属性缓存在全局 变量中以供您在所有代码中使用。出于多种原因,将全局变量保持在最低限度几乎总是一个好主意,包括避免与包含的库发生命名冲突,以及避免多个函数更新同一变量时难以诊断的错误。只需在碰巧需要大量使用特定属性的单个函数中缓存 - 请记住,JS 具有 function 范围而不是 block 范围。 (如果一个特定的函数经常引用一个特定的属性,您也可以考虑将该属性作为函数的参数,以获得与(可以说)更简洁的代码相同的效果。)

附言JavaScript 没有 JSON 对象,它只有对象。

关于Javascript 将属性值缓存到变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9094889/

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