单个javascript对象的行为

时间:2013-10-12 05:38:43

标签: javascript singleton

我希望有单个类型的对象,其值在多个页面的多个事件期间被更改。该对象用于在各种页面中绑定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属性之外,还有办法保留值吗?或者我是否遵循了错误的方法

1 个答案:

答案 0 :(得分:1)

您可以使用 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/