Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.02.2010, 12:18
Новичок на форуме
Отправить личное сообщение для solistcomru Посмотреть профиль Найти все сообщения от solistcomru
 
Регистрация: 06.02.2010
Сообщений: 1

помогите с цыклами плиз
Вот читал по книге цыклы. там приводится такой пример:
while(total < 10)
{n++;
total+=names[n];}
Описание к примеру такое: В этом цыкле также используется счетчик, определяющий номера элементов массива. Вместо того чтобы прекратиться при достижении счетчика определенного значения, цыкл прерывается, когда сумма значений массива, становится больше 10.

Я решил опробовать. И написал следующее.

new Array(40);
names[0] = "Даша";
names[1] = "Даша";
names[2] = "Ваня";
names[3] = "Серый";
names[4] = "Кукда";
names[5] = "Леня";
names[6] = "Леня";
names[7] = "Леня";
names[8] = "Леня";
names[9] = "Леня";
names[10] = "Леня";
names[11] = "Леня";
names[12] = "Леня";

total = 0;
while(total < 10)
{n++;
total+=names[n];
document.write(names[n]);}

Скажите, что не так?
Ответить с цитированием
  #2 (permalink)  
Старый 06.02.2010, 13:28
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Проблема в том, что Вы не понимете смысла оператора +=
В примере, по ходу, массив содержал числа, в Вашем же примере содержаться слова и оператор += работает как конкатенация, т.е. соединение строк, а не суммы чисел. А сравнение строки с числом бессмысленно.
total = 0;
while(n < 10)
{n++;
total+=names[n];
document.write(names[n]);}
__________________
Настоящий программист думает и осознает сам решение задачи, а не копирует другие мысли, не осознавая их (c)
Относись к человеку так же, как хотелось бы отношения к себе (с)
Все нужно там, где оно нужно, а все не нужно нигде (с) Gozar
B~Vladi: А кто такой JavaScript стрелок?! micscr: это тот, кто не jQuery танкист.
Программы становятся медленнее быстрее, чем компьютеры становятся быстрее (с) Никлаус Вирт
Ответить с цитированием
  #3 (permalink)  
Старый 07.02.2010, 14:57
Любитель
Отправить личное сообщение для JsLoveR Посмотреть профиль Найти все сообщения от JsLoveR
 
Регистрация: 16.12.2009
Сообщений: 422

var names=new Array(40);
names[0] = "Даша1";
names[1] = "Даша2";
names[2] = "Ваня";
names[3] = "Серый";
names[4] = "Кукда";
names[5] = "Леня1";
names[6] = "Леня2";
names[7] = "Леня3";
names[8] = "Леня4";
names[9] = "Леня5";
names[10] = "Леня6";
names[11] = "Леня7";
names[12] = "Леня8";
var n=0;
while(n <10)
{
  n++;
  document.write(names[n]+'<br/>');
}
Ответить с цитированием
  #4 (permalink)  
Старый 07.02.2010, 15:02
Любитель
Отправить личное сообщение для JsLoveR Посмотреть профиль Найти все сообщения от JsLoveR
 
Регистрация: 16.12.2009
Сообщений: 422

Сообщение от solistcomru Посмотреть сообщение
new Array(40);
У Вас массив names не объявлён, переменная n - не объявлёна, + вы пытаетесь числовое значение соединить со строковым.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите, плиз! :( Henry Серверные языки и технологии 20 14.08.2009 06:57
помогите задать селектор! mkrylov jQuery 2 28.06.2009 20:34
Плиз, помогите девушке dremarlara Общие вопросы Javascript 4 21.04.2009 09:48
relative + fixed Помогите плиз( greatilya Internet Explorer 14 27.11.2008 03:29
помогите плиз chemax Общие вопросы Javascript 2 15.11.2008 11:06