我正在尝试为不支持它的浏览器模拟html5 sessionStorage
。我正在将sessionStorage
对象模拟为对象文字,并通过存储sessionStorage
对象的旧版本和新版本来检查它是否发生了更改。但是,如果我直接使sessionStorage
的"旧"副本直接等于sessionStorage
对象本身,如果对象sessionStorage
发生更改,它也会将这些更改反映在"旧"拷贝上。如何在不反映未来变化的情况下复制对象文字?不起作用的代码示例位于http://jsfiddle.net/pkXXC/1.单击该按钮将更新sessionStorage
对象。结果将记录在控制台中
注意:您必须使用internet explorer 7.0或更低版本才能使用此示例
您要查找的内容被称为"深度副本"。谷歌有很多例子,在jQuery-$.extend(true, ...)
中就有一个例子