在我的 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 对象是否会存储a,index因为它们是否被范围引用,因为它们实际上并不在其中。