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 и opponent являются параметрами, передаваемыми. В этом случае, playerName = 'nic' и opponent = "Mac"с помощью LocalStorage сохранить количество

Мой браузер дает мне «неожиданный маркер ш» на линии, где я анализирую вне localStorage , Я не могу понять, что происходит. Любая помощь будет большой. Благодаря!

+2

Что происходит? Вы сохранили недействительный JSON. Поместите точку останова на эту строку и проверьте значение. – kirilloid

+0

где я должен это делать? не уверен, что я следую за извините –

+0

Хорошо, по крайней мере, это: 'console.log (localStorage.getItem (playerName + 'WinsVs + соперник))' on line перед ошибкой. – kirilloid

ответ

0

Вместо использования отдельной переменной localStorage для каждого атрибута проигрывателя. Почему бы не сохранить все атрибуты игроков в одном объекте, а затем сохранить их в localStorage.

Например, вы можете сделать следующее:

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."); 

Это позволяет сохранить все атрибуты игрока к одной переменной LocalStorage делает его гораздо легче читать и писать.

Что касается ошибки, которую вы получаете, я считаю, что проблема с вашим кодом заключается в том, что вы не используете JSON.stringify в вызове setItem.

Смежные вопросы