我正在开发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等的部分,但我不理解的是为什么这里需要try catch语句?仅仅写下下面的内容还不够吗?
function supports_html5_storage(){
return 'localStorage' in window && window['localStorage']!==null;
}顺便说一下:我确实(某种程度上)知道try/catch的目的,我只是想知道我们可能会期待什么样的异常?
发布于 2013-01-04 17:36:04
如果您的浏览器支持HTML5存储,则全局窗口对象上将有一个localStorage属性。如果您的浏览器不支持HTML5存储,则localStorage属性将是未定义的。由于Firefox旧版本中的一个不幸的错误,如果cookie被禁用,此测试将引发异常,因此整个测试都包装在一条try..catch语句中。
上面的文本复制自:http://diveintohtml5.info/detect.html#storage
https://stackoverflow.com/questions/14154478
复制相似问题