如何阅读Javascript文档?

时间:2014-10-09 21:49:13

标签: javascript documentation indexeddb

我正在尝试学习IndexedDB的优点并通过documentation。作为一个Javascript noob,我无法理解一些文档。

因此,通过修改,我发现处理deleteDatabase调用的代码是:

var req = indexedDB.deleteDatabase(DB_NAME);
req.onsuccess = function () {
    console.log("Deleted database successfully");
};
req.onerror = function (e) {                        
    console.log(e.message);
};
req.onblocked = function () {                        
    console.log('Database is blocked right now...try again later');
};

文档中的位置(甚至是VS或Sublime等工具中的智能感知,浏览器开发工具等)确实表明.onerror事件传递了错误对象e,但是{{ 1}}没有。

2 个答案:

答案 0 :(得分:2)

首先,我们会查看req类型IDBOpenRequest的定义。

http://www.w3.org/TR/IndexedDB/#idl-def-IDBOpenDBRequest

此接口将onblocked声明为:

attribute EventHandler onblocked;

界面扩展IDBRequest

http://www.w3.org/TR/IndexedDB/#idl-def-IDBRequest

此接口将onerror属性声明为:

attribute EventHandler onerror;

现在我们将检查EventHandler是什么。

http://www.w3.org/TR/IndexedDB/#dependencies

  

术语和算法文档基本URL,事件处理程序属性,事件处理程序事件类型,函数,原点,同源,结构化克隆,结构化克隆算法,任务,任务源和任务队列由HTML 5规范定义[HTML5]。

索引数据库API规范没有定义它。它使用HTML 5规范中的定义。

http://www.w3.org/TR/IndexedDB/#references

它们链接到HTML5的完整规范。

我们导航到定义EventHandler的部分。

http://www.w3.org/TR/html5/webappapis.html#eventhandler

[TreatNonCallableAsNull]
callback EventHandlerNonNull = any (Event event);
typedef EventHandlerNonNull? EventHandler;

因此当EventHandler不是null时,它是一个带有Event参数的函数。

答案 1 :(得分:0)

只需阅读Mozilla docs即可。