0

更具体地说

if("indexedDB" in window)

对比

if(window.indexedDB)

我总是使用第二种方法,但在net tuts 教程中,他们使用的是方法 1。

4

1 回答 1

6

'indexedDB' in window(注意你需要引号)检查窗口是否有一个名为的属性indexedDB(没有引号,它是“一个名称存储在indexedDB变量中的属性”)

window.indexedDB检查具有该名称的属性是否真实。

现在,在很多情况下,尤其是在特性测试中,您已经知道您正在寻找一个对象,因此使用哪种方法没有区别。但是在更一般的情况下:

window.derp = false;
if( 'derp' in window) { /* true */ }
if( window.derp) { /* false */ }
于 2013-11-13T13:33:15.460 回答