2012-02-18 2 views
1

Мне нужна помощь, проверяющая любые ошибки для этого назначения. Когда я запускаю этот скрипт, мой интернет-браузер падает. Я сам написал этот сценарий, чтобы он был неправильным! Это задание для школы, в которой мы должны использовать циклы для вывода месяцев года (в массиве).JavaScript: Почему моя программа падает?

PS: Программа отлично работает, пока я не создал код прорыва/продолжения!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 


<head> 

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

    <title>Assignment 6: Steph Hussar</title> 

    <script type="text/javascript"> 

     // Variable Declaration 

     var monthArray = new Array(); 
     monthArray[0]="January"; 
     monthArray[1]="February"; 
     monthArray[2]="March"; 
     monthArray[3]="April"; 
     monthArray[4]="May"; 
     monthArray[5]="June"; 
     monthArray[6]="July"; 
     monthArray[7]="August"; 
     monthArray[8]="September"; 
     monthArray[9]="October"; 
     monthArray[10]="November"; 
     monthArray[11]="December"; 


     // Using the for loop 

     document.write("<h4>Using the for loop</h4>"); 

     for(var count =0 ; count < 12 ; count++) 
     { 
      document.write(monthArray[count] + "<br />"); 
     } 

     // Using the while loop 

     document.write("<h4>Using the while loop</h4>"); 

     var count = 0; 
     while (count < 12) 
     { 
      document.write(monthArray[count] + "<br />"); 
      count++; 
     } 


     // Using for in loop 

     document.write("<h4>Using for in Loop</h4>"); 

     for(index in monthArray) 
     { 
      document.write(monthArray[index] +"<br />"); 
     } 



     // Using the Break 

     document.write("<h4>Using the break when the month of March is found</h4>") 

      for(count = 0 ; count < 12 ; count++) 
      { 
      if (count == 3) 
       { 
       break; 
      }else{ 
      document.write(monthArray[count] + "<br />"); 

      } 
      } 
      document.write("I broke out of the loop!"); 

     // Using the Continue 

     document.write("<h4>Using the continue when the month of March is found</h4>")  


      for(count = 0 ; count < 12 ; count++) 
      { 
      if (count == 2) 
       { 
       continue; 
      }else{ 
      document.write(monthArray[count] + "<br />"); 

      } 
      } 
      document.write("I skipped March with a continue statement!"); 


    </script> 

</head> 

<body> 

</body> 

    </html> 
+0

Убедитесь, что точка с запятой находится в конце каждого оператора javascript, особенно инструкции document.write. –

+0

Поскольку это домашнее задание, мы не скажем вам ответа. Но в качестве подсказки начинайте комментировать отдельные циклы, пока не найдете, что вызывает крушение, а затем выполните работу по изоляции, какая часть цикла вызывает его. –

+0

@JohnPick - фактически точки с запятой не требуются в javascript. – mrtsherman

ответ

2

Вы должны изменить эту строку:

document.write("I skipped March with a continue statement”.”); 

Для этого:

document.write("I skipped March with a continue statement”."); 

Вы не правильно закрытия вашей цитаты.

2

Выглядит хорошо, но я попытаюсь удалить фигурные кавычки в вашем «Я вырвался из цикла». строки. В зависимости от браузера, он может увидеть фигурные кавычки, как в конце строки, в этом случае «ошибка синтаксиса

2

Там есть ошибка синтаксиса здесь:..

document.write("I skipped March with a continue statement”.”); 

Обратите внимание на странный конец . цитаты ... строка не цитироваться

2

Вы действительно очень близко - только заявления, если нужно исправить, я думаю - как это:

// Using the Break   
    document.write("<h4>Using the break when the month of March is found</h4>") 
    for(count = 0 ; count < 12 ; count++)    
    {    
    if (count == 2) 
    {  
     document.write("I broke out of the loop"); 
     break; 
     } 
     else 
    {    
     document.write(monthArray[count] + "<br />"); 
    } 
    } 
    // Using the Continue   
    document.write("<h4>Using the continue when the month of March is found</h4>") 
    for(count = 0 ; count < 12 ; count++)    
    {    
    if (count == 2) 
    { 
    document.write("Skip March and continue<br />"); 
    continue; 
    } 
    else 
    {  
    document.write(monthArray[count] + "<br />"); 
    }  
    } 
0

Вот это, кажется, работает нормально :

http://jsfiddle.net/VvUW5/2/

Я добавил в несколько отсутствующих запятых, исправил сломанный строку, и добавлены некоторые недостающие var «с.

Выполняет ли это все, что предполагается сейчас, или есть еще одна проблема?

Смежные вопросы