不确定为什么语法错误“)”javascript

时间:2015-08-18 06:52:56

标签: javascript jquery function for-loop while-loop

我正在尝试创建一个运行while循环的函数。

它应该运行以下内容:

 当<循环中的数字是3的的倍数时,
  1. 将参数string1附加到div  
  2. 当循环中的数字是5的倍数
  3. 时,将参数string2附加到div  
  4. else,在
  5. 下面追加另一个字符串

    我收到Chrome工具箱错误“Uncaught SyntaxError:Unexpected token”“for script tag in line”for(x%3 == 0){“。无法弄清楚为什么......

    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8">
        <title></title>
      </head>
      <body>
    
        <div id="output"></div>
    
    
    
        <script src="https://code.jquery.com/jquery-2.1.1.js"></script>
        <script>
    
        var this_that = function(string1, string2) {
          var x = 1
          while (x <= 100) {
            for (x % 3 == 0) {
            $(#output).append(x, string1)
          } else if (x % 5 == 0) {
            $(#output).append(x, string2)
          } else {
            $(#output).append(x,'is not a multiple of 3 or 5')
          }
          x++
        }
      }
    
    
    
    
    </script>
    

7 个答案:

答案 0 :(得分:1)

您的for应该是if

for (x % 3 == 0) {

应该是:

if (x % 3 == 0) {

答案 1 :(得分:0)

代码中的各种错误

  1. 您需要将选择器字符串包装为 public class Summoner { public int id { get; set; } public string name { get; set; } public int profileIconId { get; set; } public int summonerLevel { get; set; } public long revisionDate { get; set; } public void Ver() { Console.WriteLine(this.id); Console.WriteLine(this.name); Console.WriteLine(this.profileIconId); Console.WriteLine(this.revisionDate); Console.WriteLine(this.summonerLevel); } }
  2. 要检查条件,您需要使用$('#output')if正在使用for循环
  3. for
    var this_that = function(string1, string2) {
      var x = 1,
        op = $('#output');
      while (x <= 100) {
        if (x % 3 == 0) {
          op.append(x, ' is a multiple of 3 <br>');
        } else if (x % 5 == 0) {
          op.append(x, ' is a multiple of 5<br>');
        } else {
          op.append(x, ' is not a multiple of 3 or 5<br>');
        }
        x++;
      }
    }
    
    this_that();

答案 2 :(得分:0)

for (x % 3 == 0)应与此if (x % 3 == 0)相似。

你只是检查条件,如果x是3 的倍数,你不想重复一段语句,这是for语句的目的。< / p>

至于你得到的错误,这是由for语句的错误语法引起的。正确的语法如下:

for ([initialization]; [condition]; [final-expression])
   statement

有关for语句的进一步文档,请查看here

答案 3 :(得分:0)

使用以下

var this_that = function(string1, string2) {
var x = 1;
while (x < 100) {
    if (x % 3 === 0) {
        $(#output).append(x, string1)
    } else if (x % 5 == 0) {
        $(#output).append(x, string2)
    } else {
        $(#output).append(x, 'is not a multiple of 3 or 5')
    }
    x++
}
}

答案 4 :(得分:0)

您为什么使用for

for (x % 3 == 0) //problem lies here. It should be if(x % 3 == 0)
{
        $(#output).append(x, string1)
} 
else if (x % 5 == 0) //if statement never started, then how can we have else if
{
   $(#output).append(x, string2)
} 
else 
{
   $(#output).append(x,'is not a multiple of 3 or 5')
}

答案 5 :(得分:0)

如果你不想做初始化和增量,你必须在条件前后给分号 for(;x%3==0;)

其次,如果没有,请使用其他if(x%3==0)

希望它有所帮助!

答案 6 :(得分:-1)

除了其他答案,您在选择器上缺少引号

var this_that = function(string1, string2) {
      var x = 1
      if (x <= 100) {
        for (x % 3 == 0) {
        $('#output').append(x, string1)
      } else if (x % 5 == 0) {
        $('#output').append(x, string2)
      } else {
        $('#output').append(x,'is not a multiple of 3 or 5')
      }
      x++
    }
  }