2017-07-11 9 views
1

.removeItem(keys)でlocalStorageを削除しようとしていますが、localStorageキーが定義されていません。私は以下のように再度単純なlocalStorageを作成しようとしていますが、removeItemをもう一度やり直そうとしていますが、それと同じ問題です。どうしましたか?.removeItemを使用してLocalStorage Itemを削除できません。

<html> 
<head> 
    <script> 
     localStorage.test = "good"; 
     console.log(localStorage.test); 
     localStorage.removeItem(test); 
    </script> 
</head> 

ブラウザは、 "キャッチされないにReferenceError:テストが定義されていない" と述べました。私はwindow.localStorage.clear()を使用しようとしています、それは仕事ですが、削除したいlocalStorageを指定したいと思います。

+2

'localStorage.removeItem(" test ")のような引用符で削除してください。https://developer.mozilla.org/nl/docs/Web/API/Window/localStorageもチェックしてください。 –

+0

ああ、それは仕事です助けてくれてありがとうHakan Kose – Jepi

+0

このようなエラーは、[Strict Mode](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference)の使用の習慣を学び、習得する良い理由です。/Strict_mode)JavaScript(特にJavaScriptのブラウザ実装)には、グローバル変数を解決するいくつかの野生のメソッドがあります –

答えて

4

エラーの原因は、testがコードの範囲で使用できないためです(まだ定義されていない変数にアクセスしようとすると、参照エラーがスローされます)。あなたの場合は​​にあります。これは、localStorageオブジェクトに直接添付しているためです。

代わりにlocalStorage.removeItem(localStorage.test);を使用していた場合、エラーは発生しませんでした。

localStorageオブジェクトに直接プロパティを設定することはお勧めできません。 代わりにローカルストレージにデータを格納するのにsetItemを使用してください。 setItemgetItemremoveItem最初の引数で

var value = "good"; 

localStorage.setItem('test', value); // set the item 

console.log(localStorage.getItem('test')); // retrieve the item 

localStorage.removeItem('test'); // delete the item 

は、あなたが保存したり取得したり、ストレージから削除したいkeyです。この場合のキーの名前はtestです。

+0

説明をありがとう。それは私に多くの助けになります:) – Jepi

+0

@ Jepiようこそ。 –

関連する問題