2

ローカルストレージの値が空白かどうかをどのように確認しますか?例えば..

localStorage.setItem('favoriteflavor','');

var taste = localStorage.getItem('favoriteflavor');

if(taste == null){
   console.log('favoriteflavor is null');
} 
else {
   console.log('favoriteflavor is NOT null');
}

これは最も理にかなっていますが、結果が得られていません。私もこれを試しました。

 if(localStorage['favoriteflavor'] == 'null'){ 
   console.log('favoriteflavor is null');
 }

http://jsfiddle.net/AwsyE/6/

4

2 に答える 2

4

空の文字列に設定favoriteflavorした場合は、他の文字列ではなく空の文字列を確認する必要があります

localStorage.setItem('favoriteflavor','');
var taste = localStorage.getItem('favoriteflavor');
if(taste == ''){
   console.log('favoriteflavor is empty');    
}
else{
   console.log('favoriteflavor is NOT empty');
}

または、削除する場合はfavoriteflavor、nullに対してチェックできます。

localStorage.setItem('favoriteflavor','chocolate');
delete localStorage['favoriteflavor'];
// or use localStorage.removeItem('favoriteflavor');

var taste = localStorage.getItem('favoriteflavor');

if(taste == null){

   console.log('favoriteflavor is null');

}
else
{
   console.log('favoriteflavor is NOT null');
}

http://jsfiddle.net/mowglisanu/AwsyE/10/

于 2012-11-16T19:27:33.523 に答える
0

ここでアイテムを「」として設定しています:

localStorage.setItem('favoritefla','');

出力が == null かどうかのテスト

if(localStorage['favoriteflavor'] == 'null'

以前にこの値を自分で設定しているため、'' と等しい場合。

localStorage次のように、このオブジェクトからアイテムを挿入および削除できるかどうかをテストすることで、ブラウザーに容量があるかどうかを確認しようとしていると思います。

var hasStorage = (function() {
  try {
    localStorage.setItem(mod, mod);
    localStorage.removeItem(mod);
    return true;
  } catch(e) {
    return false;
  }
}());

ブラウザに localStorage 容量がある場合、上記の関数は true を返します。お役に立てば幸いです、乾杯

于 2012-11-16T19:28:39.903 に答える