0

setItemメソッド fromが何を返すかを理解しようとしていsessionStorageます。私が得ることができる限り、次のコードは戻りますundefined

var set = sessionStorage.setItem('foo', 'bar');
console.log(set);

項目が正常に設定されたか、失敗したかを知る必要があります。リターンを知らずにこれを達成するにはどうすればよいですか?

4

3 に答える 3

7

sessionStorage仕様を見てみましょう。

この行:

setter creator void setItem(DOMString key, DOMString value);

何も返さsetItemないことを示します。(voidは戻り値、あり)


項目が次のように設定されているかどうかを確認できます。

if (sessionStorage.getItem('myValue') == null){
    // myValue was not set
}else{
    // myValue was set
}
于 2014-01-31T14:00:19.663 に答える
1

これsessionStorageは、Mozilla Developer Network からのガイドです。sessionStorage.setItem(name, value)何も返さないようです。

ただし、手動で確認したい場合は、次のようなことを試すことができます。

sessionStorage.setItem('make', 'Ford');

/* Returns null if it cannot find the item in sessionStorage. */
if(sessionStorage.getItem('make')) {
    /* Session storage set successfully. */
} else {
    /* Session storage did not set successfully. */
}
于 2014-01-31T14:03:33.617 に答える
0

仕様に記載されているように、セッションがいっぱいの場合、メソッドは例外をスローするため、try catch 式を使用します。

try { sessionStorage.setItem('foo', 'bar'); }
catch(oops) {
     // maybe no more space, try to free
     localStorage.removeItem('foo');
     sessionStorage.setItem('foo', 'bar');
}
于 2014-01-31T14:05:12.670 に答える