我有这个if语句,如果变量值不等于localStorage值,则执行代码。检查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的值发生更改,否则不应再次进入。任何想法将不胜感激!
好吧,我会给它一个去,让你知道我怎么下去! – Tom 2013-03-17 13:55:18
第二种方法正确地将JSON输出转换为字符串,但是在第一次调用之后它仍然进入if语句的内部。这与if语句中的'localStorage ['tweet_text'] = tweeting'行有什么关系,可能需要更改? – Tom 2013-03-17 14:16:11
@Tom,你在使用chorme吗?您可以尝试通过调试后立即查看'localStorage ['tweet_text']'的值是什么(也检查'tweeting',也许它是空的?) – 2013-03-18 06:05:52