2

在我的 Windows 应用商店应用程序中,我将数据直接存储在 sessionState 对象中,因此我以后不需要将数据移动到那里。在一种情况下,我存储一个对象,该对象具有在包含范围内声明的变量的访问器方法,如下所示:

(function ()
{
    var a = [];
    var index = -1;

    WinJS.Application.sessionState.data = 
    {
        add: function (item)
        {
            index = a.length;
            a.push(item);
        },
        currentItem: function ()
        {
            return a[index];
        }
    };
})();

我的问题是 sessionState 对象是否会存储aindex因为它们是否被范围引用,因为它们实际上并不在其中。

4

1 回答 1

3

您可以使用“数据”来操作“a”和“索引”,直到您的应用第一次被暂停。当您的应用程序暂停时,存储在 sessionState 对象中的任何数据都会自动序列化到磁盘。功能将被删除。恢复后,我们丢失了 2 个函数“add”和“currentItem”。

查看更多:http: //msdn.microsoft.com/en-us/library/windows/apps/hh440965.aspx

于 2012-12-04T05:04:59.350 回答