Estoy tratando de hacer una función de guardar para mi juego y no me permite guardar ninguna de mis Variables como enteros (incluso con parseInt (Variable), + Variable, etc.)

Las respuestas a esta publicación no están funcionando.

    localStorage.value = value;
    value = localStorage.value;
2
qwerty77asdf 10 may. 2016 a las 14:26

3 respuestas

La mejor respuesta

Intenta usar var x = parseInt(localstorage.numeric)

function populateStorage() {
  var obj = {x:"sdfsd", y:"sdfsdf"};
  
  localStorage.setItem('image', JSON.stringify(obj));
  console.log(localStorage.getItem('image'));
  
  localStorage.bgcolor = 'blue'
  console.log(localStorage.bgcolor);
  
  //working with numeric values
  localStorage.numeric = 3;
  console.log( parseInt(localStorage.numeric) + 1);
}

//just calling calling the funtion
var x = populateStorage.call();
2
Tiago Fabre 10 may. 2016 a las 14:04

Puede un objeto para almacenar en el almacenamiento local de la siguiente manera

  Storage.prototype.setObject = function(key, value) {
    this.setItem(key, JSON.stringify(value));
}

Storage.prototype.getObject = function(key) {
    var value = this.getItem(key);
    return value && JSON.parse(value);
};


    localStorage.setObject('x', {1: 2, 2: "s"})
    console.log(localStorage.getObject('x'));
1
92sharmasaurabh 10 may. 2016 a las 11:39

La mejor manera de convertir cualquier número de datos en localStorage de cadena a número:

var a = localStorage['some_property'];

typeof a; // "string"

var b = +localStorage['some_property'];

typeof b; // "number"
2
Ali Mamedov 10 may. 2016 a las 11:42