【发布时间】:2021-12-16 00:21:24
【问题描述】:
我试图在 document.cookie 的 javascript 中保存一个数字。 但是当我尝试获取带有数字的 cookie 时,当我尝试显示它时总是得到 NaN
var playerCoffeeCount = 0;
function setCookie(c_name, value, exdays) { //Setting a cookie (just a shortcut for making cookies)
var exdate = new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString());
document.cookie = c_name + "=" + c_value;
}
function getCookie(c_name) { //Getting a cookie (another shortcut)
var i, x, y, ARRcookies = document.cookie.split(";");
for (i = 0; i < ARRcookies.length; i++) {
x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
x = x.replace(/^\s+|\s+$/g, "");
if (x == c_name) {
return unescape(y);
}
}
}
function saveGame(){
setCookie("playerCoffeeCookie", playerCoffeeCount, 999);
}
function loadGame(){
playerCoffeeCount = getCookie("playerCoffeeCookie");
}
function displayCookie(){
document.getElementById("coffeecount").innerHTML= "Coffee: " + Math.floor(playerCoffeeCount);
}
JavaScript 中的这个 cookie 系统保存了该值,但它显示为 NaN...请帮助 :(
【问题讨论】:
-
那是因为该值是一个字符串,而不是一个数字。
-
请显示调用它的代码和显示cookie的代码。
-
@Diodeus 包含数字的字符串在用于算术表达式时通常会自动转换。
-
这里对我来说很好用:jsfiddle.net/Ja5pw
-
增加变量和显示功能
标签: javascript cookies