如果我将数据保存在全局 var cache = {}
中,可能会出现什么潜在问题?
它会被垃圾收集器收集吗? 我可以确保它一直持续到观看结束吗?
是否有我可以使用的浏览器内置功能,这样即使下次打开页面,我也可以准备好缓存的数据?
谢谢。
最佳答案
听起来您需要了解 javascript 中全局数据的生命周期:
在给定页面的生命周期内,全局变量将持续存在,直到您清除它的值为止。它永远不会被垃圾收集。因为它是全局性的,所以它永远不会超出范围。
当查看者转到该窗口中的新页面或关闭该浏览器窗口时,该前一个页面的所有 javsacript 数据都会被释放并且不再可用。
可以通过三种方式保存数据,以便在该页面或其他页面的 future View 中使用它:1) Cookie,2) 本地存储,3) 服务器存储。在所有这些情况下,都必须从其存储位置检索数据并将其放回到 JavaScript 中。
关于javascript - JavaScript 中的简单缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11840159/