Maison > Questions et réponses > le corps du texte
Je me demande si localStorage peut avoir une valeur booléenne au lieu d'une chaîne ?
Utiliser JS uniquement, pas JSON, si ce n'est pas possible ou peut être fait différemment via JS, merci de me le faire savoir, merci
http://jsbin.com/qiratuloqa/1/
//How to set localStorage "test" to true? test = localStorage.getItem("test"); localStorage.setItem("test", true); if (test === true) { alert("works"); } else { alert("Broken"); } /* String works fine. test = localStorage.getItem("test"); localStorage.setItem("test", "hello"); if (test === "hello") { alert("works"); } else { alert("Broken"); } */
P粉1976397532023-10-24 09:37:10
Non, Network Storage stocke uniquement les chaînes. Pour stocker des données plus riches, les utilisateurs utilisent souvent JSON et stringifient lors du stockage et analysent lors de la récupération.
Stockage :
var test = true; localStorage.setItem("test", JSON.stringify(test));
Recherche :
test = JSON.parse(localStorage.getItem("test")); console.log(typeof test); // "boolean"
Vous n'avez pas besoin de JSON pour obtenir la valeur booléenne ; vous pouvez simplement utiliser ""
表示 false,使用任何其他字符串表示 true,因为 ""
qui est une valeur "falsey" (une valeur qui est forcée à false lorsqu'elle est traitée comme un booléen).