Javascript尝试捕获Localstorage Detection

时间:2013-01-04 09:32:34

标签: javascript try-catch

我正在研究the Dive Into HTML 5 Tutorial on localstorage,并遇到了这段代码:

function supports_html5_storage() {
  try {
return 'localStorage' in window && window['localStorage'] !== null;
  } catch (e) {
return false;
  }
}

我理解关于return 'localStorage' in window等的部分,但我不明白为什么需要在这里尝试catch语句?仅仅写下面的内容还不够吗?

function supports_html5_storage(){
return 'localStorage' in window && window['localStorage']!==null;
}

顺便说一句:我(有点)知道try / catch的目的,我只是想知道我们可能期待什么样的异常?

1 个答案:

答案 0 :(得分:5)

  

如果您的浏览器支持HTML5存储,则会有localStorage   全局窗口对象上的属性。如果您的浏览器不支持   HTML5存储,localStorage属性将是未定义的。由于一个   在旧版本的Firefox中不幸的错误,这个测试将提出一个   如果禁用cookie,则异常,因此整个测试都包含在   try..catch statement。

以上文字复制自:http://diveintohtml5.info/detect.html#storage