【问题标题】:Passing a variable to an if statement in a function将变量传递给函数中的 if 语句
【发布时间】:2011-08-31 04:04:44
【问题描述】:

这就是我想要做的,我想将一个变量传递给一个函数(那里没有问题)。但后来我想在 if 语句中使用它。

colnum(5, 1);


    function colnum (columnnumber, reset)
    {
        var divcount = $('[class^="box"]').length;  
        var columnnumberround = Math.round(divcount / columnnumber);
        var start = 0;
        var end = columnnumberround-1;  

        if (reset=1)
        {
            var i = 0;
            while (i<=columnnumber)
            {
              $('div.box'+start).add($("div.box"+start).nextUntil("div.box"+end)).add($("div.box"+end)).addClass("col"+i);
              $(".col"+i).wrapAll("<div class=column></div>");

              start+=columnnumberround;
              end+=columnnumberround;
              i++;
            }       
        }
        else
        {
            alert("test");
        }
    }

【问题讨论】:

  • 应该是 "if (reset == 1) " as.s.o.
  • 你为什么要覆盖输入参数? var columnnumber = 5;
  • 哎呀,这是测试中剩下的东西

标签: javascript comparison


【解决方案1】:

它应该实际上是:

if (reset === 1)

JavaScript 有两个不同的相等运算符,=====
Which equals operator (== vs ===) should be used in JavaScript comparisons?

使用类型强制相等运算符 (==) 会导致类似 this one 的 WTF:

> [[[[[[[2]]]]]]] == 2
  true

【讨论】:

    【解决方案2】:

    您的问题是您在 IF 语句中使用 '=' 而不是 '=='

    if (reset=1)
    

    应该是

    if (reset==1)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      相关资源
      最近更新 更多