使用cookie(javascript)时for循环中的If/Elseif语句出现问题
嗨,在我的javascript游戏中,我使用cookies在游戏开始时加载一些数据使用cookie(javascript)时for循环中的If/Elseif语句出现问题,javascript,if-statement,for-loop,cookies,Javascript,If Statement,For Loop,Cookies,嗨,在我的javascript游戏中,我使用cookies在游戏开始时加载一些数据 function loadData(){ cookieArray = document.cookie.split(';'); for (var i = 0; i < cookieArray.length; i++){ cookie = cookieArray[i].split('=')[0]; value = cookieArray[i].split('=')[1]; if (c
function loadData(){
cookieArray = document.cookie.split(';');
for (var i = 0; i < cookieArray.length; i++){
cookie = cookieArray[i].split('=')[0];
value = cookieArray[i].split('=')[1];
if (cookie=="currentR"){
round = value;
}
else if(cookie=="blueWins"){
bWins=value
}
else if(cookie == "redWins"){
rWins=value
}
}
}
我已经做了一些测试,我非常确定saveData函数可以正常工作。谢谢
function loadData(){
var data = {};
var elements = document.cookie.split(';');
for (var i = 0; i < elements.length; i++){
var cookie = elements[i];
cookie = cookie.replace(/^\s+|\s+$/gm,''); // trimming whitespaces
cookie = cookie.split('=');
data[cookie[0]] = cookie[1];
}
return data;
}
var data = loadData();
alert(data.currentR, data.blueWins, data.redWins);
函数loadData(){
变量数据={};
var elements=document.cookie.split(“;”);
对于(var i=0;i
需要在document.cookie.split(“;”)中有一个空白
i、 e
只需在末尾添加trim()。它在头部和尾部都起作用
cookie=cookieArray[i]。拆分('=')[0]。修剪();
使用===
而不是=
尝试document.cookie.split(“;”)
(添加空格)。谢谢@Xufox!现在效果很好。你能解释一下空格在做什么吗?@harrison你只是用分号作为分隔符来分隔它。但实际的分隔符是分号和空格。您得到的是字符串形式的“currentR”
,而不是预期的“currentR”
。
function loadData(){
var data = {};
var elements = document.cookie.split(';');
for (var i = 0; i < elements.length; i++){
var cookie = elements[i];
cookie = cookie.replace(/^\s+|\s+$/gm,''); // trimming whitespaces
cookie = cookie.split('=');
data[cookie[0]] = cookie[1];
}
return data;
}
var data = loadData();
alert(data.currentR, data.blueWins, data.redWins);
document.cookie.split("; ")