【问题标题】:if variable is undefined如果变量未定义
【发布时间】:2015-04-14 06:00:40
【问题描述】:

这可能看起来像是重复的,但是,我无法让它工作。 我想要做的是每次点击,获取某个值,将其添加到 cookie 中已经存在的值中,然后用新的总数替换 cookie 值。而且我仍然没有数字错误

var nextqurl = $(".nav-next a").attr('href');
    var curcookie = $.cookie('test');
    var initscore = 0;
    alert(curcookie);
    $(".answer").click(function(){
        var score = $(this).attr('id');
        var updatedscore = parseInt(curcookie) + parseInt(score);
        if (typeof curcookie === 'undefined') {
            $.cookie('test',initscore, {path: '/'});
            }
        else
        {
            $.cookie('test',updatedscore, {path: '/'});
            }
        $.cookie('test',updatedscore, {path: '/'});
        window.location.replace(nextqurl);
        });
    }); 

附言 cookie 工作正常

【问题讨论】:

  • 发布实际错误可能会有所帮助。
  • 检查score是否包含任何内容?
  • 你试过var curcookie = $.cookie('test') || 0;。我猜 cookie 的值最初不是零
  • 控制台没有错误,但是alert返回NaN

标签: javascript jquery cookies


【解决方案1】:

试试这个吧……

var curcookie = parseInt($.cookie('test')) || 0;

然后将parseInt 从处理程序中的parseInt(curcookie) 中取出

【讨论】:

  • 只是 var curcookie = parseInt($.cookie('test')) || 0;工作正常。你也能解释一下吗? p.s.我只能在 26 分钟内接受答复
  • 你的cookie(curcookie)的未初始化值在最初没有cookie时是未定义的,所以parseInt(curcookie) + 1是NaN。
猜你喜欢
  • 2016-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-11
  • 2016-12-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多