由于我正在处理的网站,我需要先存储一些变量然后进行比较。
如果我的价值观确实相等,我就无法工作。我以前从未使用过本地存储,所以不确定我是否正确使用它。小提琴是http://jsfiddle.net/ktcle/QuLub/2/
我刚刚添加了div中的值,因此很容易看到它们是什么,不会出现在代码中。
var userID = user(2, 7),
playerID = player(14),
savedUserid,
savedUPlayerid;
function user(a, b) {
return a * b
}
function player(a) {
return a
}
function saveData(x) {
localStorage.setItem('userID', x);
}
function saveData(x) {
localStorage.setItem('playerID', x);
}
savedUserid = parseInt(localStorage.getItem('userID'));
savedPlayerid = parseInt(localStorage.getItem('playerID'));
if (typeof savedUserid === typeof savedPlayerid) {
alert (true)
}
else {
alert (false)
}
答案 0 :(得分:1)
有一些问题......你没有保存这些值,而你正在比较typeof而不是实际值(正如其他人指出的那样)。无论如何,这是有效的:
var userID = user(2, 7),
playerID = player(14),
savedUserid,
savedUPlayerid;
function user(a, b) {
return a * b
}
function player(a) {
return a
}
function saveData(type, value) {
localStorage.setItem(type, value);
}
saveData('userID', userID);
saveData('playerID', playerID);
console.log(localStorage.getItem('userID'));
savedUserid = parseInt(localStorage.getItem('userID'));
savedUPlayerid = parseInt(localStorage.getItem('playerID'));
if (savedUserid === savedUPlayerid) {
alert (true)
}
else {
alert (false)
}
document.getElementById("user").innerHTML = savedUserid;
document.getElementById("player").innerHTML = savedUPlayerid;
答案 1 :(得分:0)
我注意到的第一个主要问题是你从不调用saveData
函数。另外,正如您所看到的,您有两个具有相同名称的函数,因此它们只会相互替换。
function saveData(x) {
localStorage.setItem('userID', x);
}
function saveData(x) {
localStorage.setItem('playerID', x);
}
因此,
localStorage.getItem('userID')
和
localStorage.getItem('playerID')
都是空的。
第二个错误是你错误拼写:savedPlayerid
为savedPlayrerid
。
使用jsFiddle进行修改:http://jsfiddle.net/QuLub/3/