Javascript 将变量保存在本地存储器中,然后比较

Javascript 将变量保存在本地存储器中,然后比较,javascript,local-storage,Javascript,Local Storage,由于我的网站工作,我需要首先存储一些变量,然后比较它们 如果我的价值观真的平等,我就不能让我的小提琴演奏。我以前从未使用过本地存储,因此不确定是否正确使用 提琴是 我刚刚在div中添加了值,这样就可以很容易地看到它们是什么,而不会出现在代码中 var userID = user(2, 7), playerID = player(14), savedUserid, savedUPlayerid; function user(a,

由于我的网站工作,我需要首先存储一些变量,然后比较它们

如果我的价值观真的平等,我就不能让我的小提琴演奏。我以前从未使用过本地存储,因此不确定是否正确使用

提琴是

我刚刚在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)
    }

我注意到的第一个也是主要的问题是,您从未调用
saveData
函数。另外,正如您所看到的,您有两个同名的函数,因此它们将相互替换

function saveData(x) {
    localStorage.setItem('userID', x);
}

function saveData(x) {
    localStorage.setItem('playerID', x);
}
因此,

localStorage.getItem('userID')

都是空的

第二个错误是您将:
savedPlayerid
拼写为
savedplayerrid


使用JSFIDLE进行修改:

有一些问题。。。您没有保存值,而是在比较typeof而不是实际值(正如其他人所指出的)。无论如何,这是可行的:


为什么要比较这些值的类型
parseInt
始终返回一个数字。但除此之外,你还没有真正解释问题所在。输入是什么?输出是什么?您期望的输出是什么?您在
savedplayerrid=…
中有一个输入错误。您声明了
savedPlayerid
但使用了
savedPlayerid
hah。他还以另一种方式第二次拼错了
savedplayerrid
doh,更新了fiddle,但这仍然没有解决我的问题,哈哈。在JSFiddle中有很好的工具,称为TidyUp和JSHint。这是您在修复代码后得到的结果:谢谢,但是如果您更改了Player的值,使它们不相等,它仍然会返回true,因为您正在比较
typeof
。数字===数字。你不知道吗?
localStorage.getItem('playerID')
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;