簡體   English   中英

如何避免在js文件中重置全局變量

[英]How to avoid resetting global variables in a js file

我正在嘗試將localStorage用於小型站點(少於10頁)中的全局變量。 我想在js文件中聲明變量,但不要在每次頁面加載時都將其重置。

除了阻止/重置另一個全局變量之外,還有什么方法可以防止重新加載幾行?

/** placed in a sj file **/
if(localStorage['lock'] != '1') {
  localStorage['val1'] = '0';
  localStorage['val2'] = '0';
  localStorage['val3'] = '0';

  localStorage['lock'] = '1';
}

本機本地存儲沒有任何鎖定能力。

您發現的解決方案對我來說是整潔的。 它的優點是速度快(因為它只檢查一個密鑰)。

但是,您可能希望在已經完成的操作的基礎上添加一小部分抽象。 但這本質上是一個品味問題(此處的性能影響很小)。

function freezeInLocalStorage(key, value) {
  if (typeof localStorage[key] !== 'string') {
    localStorage[key] = value;
  }
}

freezeInLocalStorage('val1', '0');
freezeInLocalStorage('val2', '0');
freezeInLocalStorage('val3', '0');

演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM