use*_*537 5 javascript local-storage
如果用户的浏览器是IE,并且localStorage不存在,则以下代码将设置localStorage,其有效期为24小时。
(function ieAlert() {
var lastclear = window.localStorage.getItem('myLocalStorage'),
time_now = (new Date()).getTime();
var isIE = document.documentMode
if (isIE && !lastclear) {
if ((time_now - lastclear) > 1000 * 60 * 60 * 24) {
window.localStorage.clear()
window.localStorage.setItem('myLocalStorage', time_now)
}
}
})()
Run Code Online (Sandbox Code Playgroud)
有用。但是我不明白的是这部分:
if (isIE && !lastclear) {
if ((time_now - lastclear) > 1000 * 60 * 60 * 24) {
window.localStorage.clear()
window.localStorage.setItem('myLocalStorage', time_now)
}
}
Run Code Online (Sandbox Code Playgroud)
在这里lastclear未定义,那么计算如何进行?
T.J*_*der 10
在这里
lastclear未定义,那么计算如何进行?
不,是null。getItem返回null不存在的条目。在数字方面,null胁迫到0,所以number - null是number - 0是number。
(如果原始作者以另一种方式访问过它localStorage.myLocalStorage,则该值的确会是undefined,并且>因为number - undefined是而不起作用NaN,所有与的比较NaN结果都为false。)
如果我正在编写代码,则我不会依赖其中的null强制性部分,这尤其是因为它会使将来的代码读者感到困惑(因为它使您感到困惑)。但这就是它起作用的原因。
| 归档时间: |
|
| 查看次数: |
65 次 |
| 最近记录: |