我有这个 if 语句,如果变量值不等于 localStorage 值,则执行代码。
for(i=0;i<tweets.length;i++){
tweetID = tweets[i][0].id_str;
if(tweetID != localStorage['tweet_id']){
alert("new tweet");
localStorage['tweet_id'] = tweetID;
console.log(localStorage['tweet_id']);
}
}
我的问题是它总是进入 if 语句,表明该值永远不等于 localStorage 值。第一次运行此代码时,它将始终进入 if 语句,因为“tweet_id”localStorage 项目未定义。一旦它进入内部,它应该将“tweetID”值写入 localStorage 值,如您在我的代码中所见。该页面每 30 秒刷新一次,如果没有新的推文,这些值应该匹配并且不会进入 if 语句。
事实并非如此。我究竟做错了什么?
通过使用 console.log,这些值在第一次进入 if 语句后匹配,因此除非 tweetID 的值发生变化,否则它不应该再次进入那里。任何想法将不胜感激!
最佳答案
尝试:
if(tweeting !=JSON.parse(localStorage['tweet_text']))
或者:
if(JSON.stringify(tweeting) != localStorage['tweet_text'])
您正在将一个对象与 JSON 进行比较,它永远不会相同。
关于javascript - 检查 localStorage 中是否存在变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15461377/