如何阅读Javascript文档?
我正在努力学习IndexedDB的精髓,并将其贯穿始终。作为一个JavaScriptNoob,我很难理解一些文档 通过修补,我发现处理deleteDatabase调用的代码如下:如何阅读Javascript文档?,javascript,documentation,indexeddb,Javascript,Documentation,Indexeddb,我正在努力学习IndexedDB的精髓,并将其贯穿始终。作为一个JavaScriptNoob,我很难理解一些文档 通过修补,我发现处理deleteDatabase调用的代码如下: var req = indexedDB.deleteDatabase(DB_NAME); req.onsuccess = function () { console.log("Deleted database successfully"); }; req.onerror = function (e) {
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等工具中的intellisense、browser dev tools等)有没有说明
.onerror
事件传递错误对象e
,但.onblocked
没有传递。首先,我们来看一下req
类型的定义,IDOpenRequest
此接口将onblocked
声明为:
attribute EventHandler onblocked;
接口扩展了IDBRequest
此接口将onerror
属性声明为:
attribute EventHandler onerror;
现在我们将检查什么是EventHandler
术语和算法文档基URL、事件处理程序属性、事件处理程序事件类型、函数、来源、相同来源、结构化克隆、结构化克隆算法、任务、任务源和任务队列由HTML5规范[HTML5]定义
索引数据库API规范没有定义它。它使用HTML5规范中的定义
它们链接到HTML5的完整规范
我们导航到定义EventHandler
的部分
因此,当
EventHandler
不是null
时,它是一个接受事件
参数的函数。您只需阅读。就可以获得相当多的信息,然后就在下面,“出于历史原因,onerror
处理程序具有不同的参数:”所以如果我理解正确的话…除了脚注说明一个错误由于历史原因被不同地处理之外。。。无法推断onblocked没有参数,但onerror有?我甚至不认为脚注适用于IndexedDB。此外,根据onerrorventhandlernNull
,第一个参数应该是Event
或DOMString
,两者都没有message
属性onblocked
应该有一个参数,类型为blocked
的简单事件。你是说文件不正确吗?还是不完整?换句话说,仅凭文档(没有在线示例),我是否能够构建问题中的代码?这是一个规范。很难说规范是错误的。如果浏览器不遵守它,那就不同了。我知道如果给定这些规范,我将无法提出req.onerror=function(e){console.log(e.message);}'
。你能编辑你的问题标题以更具体地描述indexedDB吗?@Josh我举了indexedDB为例。但我经常在其他功能上遇到类似的问题。
[TreatNonCallableAsNull]
callback EventHandlerNonNull = any (Event event);
typedef EventHandlerNonNull? EventHandler;