2012-03-02 3 views
2
var nicWinsVsMac; 

if (tempresult === win) { 
      wincount = JSON.parse(localStorage.getItem (playerName + 'wincount')); 
      wincount += 1; 
      localStorage.setItem(playerName + 'wincount', wincount); 

     winsvsopponent = 'WinsVs' + opponent; 
     winsvsopponent = JSON.parse(localStorage.getItem(playerName + 'WinsVs' + opponent)); 
     winsvsopponent += 1; 
     console.log(winsvsopponent); 
     localStorage.setItem(playerName + 'WinsVs' + opponent, 'winsVs' + opponent); 
     console.log(localStorage.getItem(nicWinsVsMac));  
    } 

playerName et opponent sont des paramètres transmis. Dans ce cas, playerName = 'nic' et opponent = "Mac"en utilisant localStorage de garder un compte

Mon navigateur donne-moi « jeton inattendu w » sur la ligne où je parse le localStorage . Je ne peux pas comprendre ce qui se passe. Toute aide est la bienvenue. Merci! Au lieu d'utiliser une variable localStorage distincte pour chaque attribut du lecteur

+2

Que se passe-t-il? Vous avez enregistré JSON invalide. Mettez un point d'arrêt sur cette ligne et inspectez la valeur. – kirilloid

+0

où devrais-je faire cela? pas sûr que je suis désolé –

+0

Ok, au moins fais ça: 'console.log (localStorage.getItem (playerName + 'WinsVs' + adversaire))' en ligne avant l'erreur. – kirilloid

Répondre

0

Pourquoi ne pas stocker tous les attributs des joueurs dans un seul objet, puis enregistrez-le dans localStorage.

Par exemple, vous pouvez effectuer les opérations suivantes:

var player = new Object(); 
player.name = 'Mac'; 
player.winCount = 3; 
player.winAgainst = new Array(); 

localStorage.setItem(player.name, JSON.stringify(player)); 

var player1 = JSON.parse(localStorage.getItem(player.name)); 
console.log(player1.name + " has " + player1.winCount + " wins."); 

Cela vous permet d'enregistrer tous les attributs du joueur à une seule variable localStorage ce qui rend beaucoup plus facile à lire et à écrire à partir.

En ce qui concerne l'erreur que vous recevez, je crois que le problème avec votre code est que vous n'utilisez pas JSON.stringify dans l'appel à setItem.

Questions connexes