簡體   English   中英

JavaScript對象的單例行為

[英]Singleton behaviour of javascript object

我想要一種單例對象,其值在跨多個頁面的多個事件中會發生變化。 此對象用於將ui綁定到各個頁面中。

我有一個'main.js'文件:

var obj = { flag : false } ;

 // call back method
 function click() { 
  obj.flag = true;
  }

並在我的next.js文件中

 // call back method
  function click() { 
  alert(obj.flag); // **alerts false** . It should alert **true** instead.
  }

除了使用window.name屬性之外,還有其他方法可以保留該值嗎? 還是我遵循錯誤的方法

您可以使用HTML5 localStorage 如文檔中所述( SafariMozilla等),localStorage支持字符串鍵/值對。

因此,您需要使用JSON.stringify將對象保存在存儲中。

var obj = { flag : false };

// Save the object in the storage
localStorage.setItem('obj', JSON.stringify(obj));

// Get the object from storage
var objectData = localStorage.getItem('obj');
var originalObject = JSON.parse(objectData );

alert(originalObject.flag);

請參閱以下小提琴: http : //jsfiddle.net/FdhzU/

暫無
暫無

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

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