Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 简单++;不';不要增加数量_Javascript_Jquery - Fatal编程技术网

Javascript 简单++;不';不要增加数量

Javascript 简单++;不';不要增加数量,javascript,jquery,Javascript,Jquery,我可能错过了一些非常简单的东西,但是,我确实错过了。我找不到它。我的代码如下: var count = 0; $(document).on('click', button, function() { var originalLink = button.attr('href'), elems, count = parseInt(originalLink.match(/\d+$/)[0]), c

我可能错过了一些非常简单的东西,但是,我确实错过了。我找不到它。我的代码如下:

    var count = 0;

    $(document).on('click', button, function() {
        var originalLink = button.attr('href'),
            elems,
            count = parseInt(originalLink.match(/\d+$/)[0]),
            cleanlink = originalLink.replace(/[0-9]/g, ''),
            link = cleanlink+''+count;

        $.get(link, function(data) {
            elems = $(data).find(elements);
            $(elems).hide();
            $(elems).appendTo(container);
        }).done(function() {
            count = count++;
            var offsetButton = $(button).offset().top;
            $('html, body').animate({
                scrollTop: offsetButton
            },500);

            if($('.masonry').length) {
                container.masonry('reload');
                container.masonry('reloadItems');
            };

            $(elems).fadeIn();
        });

        alert(count);

        return false;
    });
它应该随着每次单击而增加计数。但事实并非如此。我的错在哪里?

更换这个

count = count++;

count++通过它自己的等价物执行
count=count+1

执行
count=count++
count=count相同
因为count++在递增之前返回count的值

通过这样做,您还可以在每次单击时调整计数
count=parseInt(originalLink.match(/\d+$/)[0]),

你的密码被修正了

var count = 0;

$(document).on('click', button, function() {
    var originalLink = button.attr('href'),
        elems,
        cleanlink = originalLink.replace(/[0-9]/g, ''),
        link = cleanlink+''+count;

    $.get(link, function(data) {
        elems = $(data).find(elements);
        $(elems).hide();
        $(elems).appendTo(container);
    }).done(function() {
        count++;
        var offsetButton = $(button).offset().top;
        $('html, body').animate({
            scrollTop: offsetButton
        },500);

        if($('.masonry').length) {
            container.masonry('reload');
            container.masonry('reloadItems');
        };

        $(elems).fadeIn();
        alert(count);

    });


    return false;
});
替换这个

count = count++;

count++通过它自己的等价物执行
count=count+1

执行
count=count++
count=count相同
因为count++在递增之前返回count的值

通过这样做,您还可以在每次单击时调整计数
count=parseInt(originalLink.match(/\d+$/)[0]),

你的密码被修正了

var count = 0;

$(document).on('click', button, function() {
    var originalLink = button.attr('href'),
        elems,
        cleanlink = originalLink.replace(/[0-9]/g, ''),
        link = cleanlink+''+count;

    $.get(link, function(data) {
        elems = $(data).find(elements);
        $(elems).hide();
        $(elems).appendTo(container);
    }).done(function() {
        count++;
        var offsetButton = $(button).offset().top;
        $('html, body').animate({
            scrollTop: offsetButton
        },500);

        if($('.masonry').length) {
            container.masonry('reload');
            container.masonry('reloadItems');
        };

        $(elems).fadeIn();
        alert(count);

    });


    return false;
});

++
是后缀时,它在递增变量之前按原样返回其值

您应该简单地使用它,而不需要显式赋值

count++;

或者,如果
++
是一个前缀,它将工作(因为它将首先返回值)。但是,对于其他开发人员来说,这看起来很奇怪(因为显式赋值是多余的)。

++
是后缀时,它返回的值与递增变量之前的值相同

您应该简单地使用它,而不需要显式赋值

count++;
或者,如果
++
是一个前缀,它将工作(因为它将首先返回值)。但是,对于其他开发人员来说,这看起来很奇怪(因为显式分配是多余的)。

解释:

i=i++; //post increment operator

i=0   // intialization
i=i++ // stores value of i and then increments
i=0   //current value of i;
试试这个:

i=++i; or i=i+1
说明:

i=i++; //post increment operator

i=0   // intialization
i=i++ // stores value of i and then increments
i=0   //current value of i;
试试这个:

i=++i; or i=i+1
正如其他人所提到的:(3起案件)

  • count=count++
    返回当前值,然后递增该值
  • count=++count
    将返回递增的数字
  • 在哪里做
    count++只会增加数字
  • 正如其他人所提到的:(3起案件)

  • count=count++
    返回当前值,然后递增该值
  • count=++count
    将返回递增的数字
  • 在哪里做
    count++只会增加数字

  • 只需简单地使用
    count++
    而不是
    count=count++

    只需简单地使用
    count++
    而不是
    count=count++

    为什么要使用
    alert(count)外部
    .done()
    ?注意
    get
    是异步callIMO
    count+=1
    count=count+1
    更好。根据jsperfWhy使用
    alert(count),第二个选项实际上更有效外部
    .done()
    ?注意
    get
    是异步callIMO
    count+=1
    count=count+1
    更好。第二种选择实际上更有效,因为jsperf@Juhana-你说得对。但现在它一直在返回
    1
    ,-)啊!我知道密码里有个愚蠢的错误!对,对。@Juhana-你说得对。但现在它一直在返回
    1
    ,-)啊!我知道密码里有个愚蠢的错误!对,对。