interface Storage {
getter any getItem(in DOMString key);
setter creator void setItem(in DOMString key, in any data);
};
调用 setItem() 时需要有一个键作为参数。如果这个键已经存在,则原有的值将被覆盖。getItem() 也要有一个键作为参数,如果该键不存在,则会直接返回 null,不会引发异常。
正如其他的 JavaScript 对象,你可以将 localStorage 对象作为一个关联数组。除了使用 getItem() 和 setItem() 函数,也可以直接使用方括号语法。例如:
var foo = localStorage.getItem("bar");
// ...
localStorage.setItem("bar", foo);也可以写成:
var foo = localStorage["bar"];
// ...
localStorage["bar"] = foo;
当然也有函数,用于删除已有的值,清空整个存储区域(也就是一次性将所有键和值全部删除)等。
interface Storage {
deleter void removeItem(in DOMString key);
void clear();
};
调用 removeItem() 时传入一个不存在的键不会做任何动作。
最后,有一个属性可以获得存储区域中值的总数,借助另外一个函数则可以使用索引进行遍历(获取每个键的名字)。
interface Storage {
readonly attribute unsigned long length;
getter DOMString key(in unsigned long index);
};
调用 key() 的索引如果不在 0 – (length-1) 之间,函数将返回 null。