Javascript.RU

for

Создать цикл, указав начальное состояние, условие и операцию обновления состояния

Синтаксис

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

Аргументы

initial-expression
Выражение (включая присваивание) или объявление переменной. Как правило, используется для инициализации переменной-счетчика. Это условие может объявлять новую переменную при помощи var. Такая переменная не является локальной переменной цикла, она видна во всей области видимости.
condition
Выражение, которое вычисляется между итерациями. Если оно является верным true, то выполняется следующая итерация, иначе - управление переходит дальше, вызовам после цикла.
final-expression
Выражение, которое вычисляется в конце каждой итерации, перед проверкой условия condition. Обычно используется для увеличения переменной-счетчика.
statement
Блок или javascript-вызов для выполнения при каждой итерации цикла, пока верно условие condition

Описание, примеры

В следующем примере в начальном условии объявляется переменная-счетчик i и увеличивается до 9 по 1 за каждую итерацию

Пример: со счетчиком
for (var i = 0; i < 9; i++) {
   n += i
}

Ни одно условие не является обязательным.

Пример: бесконечный цикл с выходом изнутри
for(;;) {
  ...
  if (какое-то условие) break;
}

См. также


Автор: MK (не зарегистрирован), дата: 21 ноября, 2009 - 00:40
#permalink

можно ли задать последовательность исполнения функций f1() и f2() функцией:

function sequence(chain) {
    for (var i = 0; i < chain.length; i++) {
        chain[i];
    }
}
sequence([f1(), f2()]);

Автор: Maus (не зарегистрирован), дата: 22 ноября, 2012 - 14:56
#permalink

Можно, только у вас sequence() вызывается с результатами работы функций. Вот рабочий вариант:

function sequence(chain) {
    for (var i = 0; i < chain.length; i++) {
        chain[i].call(window);
    }
}
sequence([f1, f2]);

Автор: Гость (не зарегистрирован), дата: 21 ноября, 2009 - 23:45
#permalink

у меня не запускается игра пишет,что не включён яваскрипт,как мне и где,в каких настройках его включить. спасибо


Автор: Гость (не зарегистрирован), дата: 11 февраля, 2016 - 14:31
#permalink

вам не сюда


Автор: Гость (не зарегистрирован), дата: 17 сентября, 2010 - 00:07
#permalink

Здравствуйте, подскажите как сделать чтоб цикл работал как бы с паузой при каждой итерации ?


Автор: Гость (не зарегистрирован), дата: 23 октября, 2010 - 11:22
#permalink

Помогите найдите в этом скрипте ошибку срочно

var size=parseInt(prompt("Введите размер массива",""));
var ar=Array(size);
for(n=0; n<size; n++);
{sval=prompt("text mossiva","");
Ar[n]=sval;
document.write(ar[n]+"<br>");}

Автор: shrm, дата: 23 октября, 2010 - 13:35
#permalink

в конце for точка с запятой лишняя


Автор: Гость (не зарегистрирован), дата: 25 марта, 2011 - 08:58
#permalink

Не объявлена переменная n (var n)


Автор: Гость (не зарегистрирован), дата: 11 февраля, 2016 - 14:32
#permalink

var необязателен, просто тогда будет глобальное пространство имён


Автор: Гость (не зарегистрирован), дата: 26 марта, 2011 - 15:33
#permalink

чувак, брось лучше программирование...


Автор: Гость (не зарегистрирован), дата: 26 мая, 2011 - 09:00
#permalink

return 'not_available';


Автор: Kolja (не зарегистрирован), дата: 29 июня, 2011 - 08:24
#permalink

Ребят с ява скрипт познакомился буквально 2 дня назад, заинтересовало...не все тонкости знаю....задача зделать раскрывающее окно, я ее выполнил но вот с Таймом не пойму, почему он мне выдает полседнее значение перменной M (на мониторн) когда должен в теле цикла с таймом в 100 прибавлять 1...? Иными словами окно плавно не открывается.... гнаведите на правильную идею.
function chsz(id,xobj){
obj=document.getElementById(id);
return viezd (obj);}

function viezd (obj){
for (var m=20; m < 80;m++)
{setTimeout(function(){obj.style.height=m+'px';}, 100)}}


Автор: Гость (не зарегистрирован), дата: 11 февраля, 2016 - 14:35
#permalink
function chsz(id,xobj){
	obj=document.getElementById(id);
	return viezd (obj);
}

function viezd (obj){
	setTimeout(function(){
		for(var m = 20; m < 80; m++) {
			obj.style.height=m+'px';
		}
	}, 100)
}

поменяйте setTimeout и for-loop местами


Автор: Dimitryi83 (не зарегистрирован), дата: 30 августа, 2011 - 15:44
#permalink

Подскажите, почему пользователь вываливается обратно, где ошибка?
Я хотел создать бесконечный цикл, в котором появляется окно с просьбой угадать имя. Если имя не угадано, то пишеться "Ты думаешь меня зовут - имя- ?" и цикл срабатывает по новой. Если имя угадано, то он опять же пишет "бла, бла, бла - имя-" и выходит из цикла.

У меня он выходит при любом имени. Может нужно по особому в усливи описать переменную?


function zagadka001() {
for(;;) {
otvet001=prompt('Как меня зовут?','Имя');alert('ты думаешь меня зовут '+otvet001+'?')
if (otvet001='Дима') break;
}
}

Вспомнив скрипты дельфи, я попытался вначале объявить переменную otvet002='Дима'. А потом в условии для выхода написал otvet001=otvet002. Результат тот же.

Мозги за долгое время без изучения программирования скуксились, совсем туплю.


Автор: Dimitryi83 (не зарегистрирован), дата: 30 августа, 2011 - 16:03
#permalink

Спасибо, все нашел. Заработало.
Я вместо логического оператора "==", поставил знак присвоения "="


Автор: Гость (не зарегистрирован), дата: 11 февраля, 2016 - 14:36
#permalink

Привычка из Delphi?


Автор: Dimitryi83 (не зарегистрирован), дата: 30 августа, 2011 - 16:34
#permalink

А вот модифицированный вариант. Профи и знатокам не интересно, а нубам на вроде меня может пригодится. Использование условий, для вариантов ответа.

Первая форма у меня на страничке спрашивала имя и записывала в переменную - "imy001"
При запуске странице сразу автоматом создается переменная с именем "otvet002" - которой присваивается значение, допустим - 'Дима'

При исполнении функции - "zagadka003" появляется окно с просьбой угадать его имя. Если набрать свое имя, то срабатывает блок кода, в котором появляется сообщение - "Нет, это тебя зовут ----" и появляется окно ввода имени
Если набрать верное имя, появляется сообщение - "Правильно, меня зовут ----" и переменной выхода присваивается false значение, от чего цикл завершается. Если набрать любое другое имя, то появляется сообщение - "Нет, меня зовут не ----" и снова появляется окно набора имени.


function zagadka003() {
otvet001=prompt('Как меня зовут?','Имя');
for (var vihod001 = 1; vihod001 == 1; ) {
if (otvet001==imy001) {
alert('Нет, это тебя зовут '+otvet001)
otvet001=prompt('Как меня зовут?','Имя');
} else if (otvet001==otvet002) {
alert('Правильно, меня зовут '+otvet002)
vihod001 = 7
} else {
alert('Нет, меня зовут не '+otvet001)
otvet001=prompt('Как меня зовут?','Имя');
}
}
}


Автор: Гость (не зарегистрирован), дата: 17 июля, 2012 - 12:56
#permalink

Привет подскажите как можно сделать такой цикл чтобы можно было добавить каждым следующим двум элементам DOM дерева одинаковые классы то есть вот структура DOM дерева.

И чтобы когда цикл отработал было вот так

Меня волнует только как цикл сделать. А добавить класс я сам смогу.


Автор: XXX (не зарегистрирован), дата: 21 декабря, 2012 - 16:07
#permalink

Здрасте! Подскажите пожалуйста в чем ошибка. вроде цикл правильный, но что то ответ не выводит.
Разработать процедуру расчета суммы n первых членов ряда. Вычисление математических функций произвести с использованием встроенного объекта Math.

var n;
//Выводим строку на экран
WScript.StdOut.Write("Введите число n: ");
//Считываем строку
n= WScript.StdIn.ReadLine();
//Выводим строку на экран
//WScript.StdOut.WriteLine("Вы ввели число " + n);
var x;
WScript.StdOut.Write("Введите число x: ");
x= WScript.StdIn.ReadLine();
var x1;
for (var i=0; i


Автор: Гость (не зарегистрирован), дата: 15 апреля, 2013 - 15:41
#permalink

Господа, как можно отформатировать цифры, чтобы в цикле выводилась ровная табличка. Это надо для скриптов в UEStudio связать Ansys c автокадом ?


Автор: Гость (не зарегистрирован), дата: 16 апреля, 2013 - 15:07
#permalink

var strx=x.toString(); while( strx.length


Автор: Ирка Харьков (не зарегистрирован), дата: 16 июля, 2013 - 03:24
#permalink

Помогите понять в чем ошибка жук молчит, но браузер ничего не воспроизводит, должна быть таблица умножения:
var html = "";
for (var i = 0; i<=10; i++){
html += "";
for (var j = 0; j <= 10; j++){
html += ""+n+"";
}
html += "";
}
html += "";


Автор: Гость (не зарегистрирован), дата: 19 сентября, 2015 - 18:55
#permalink

for (var i = 2; i < 10; i++) {
for (var j = 2; j < 11; j++) {
var result = i * j;
document.write(i + "x" + j + "=" + result + " ");

}
}
здесь идет цикл в цикле, i * j то есть i у нас сначала 2 умножается на 2 то есть на j, прошел цикл и j стала 3, значит умножается на 3, потом j стала 4, потом 5 и т.д до 11, после этого i становится 3 и умножается на 2 и т.д


Автор: Ирка Харьков (не зарегистрирован), дата: 16 июля, 2013 - 03:25
#permalink
var html = "<table style=\"border-collapse:collapse;\">";
for (var i = 0; i<=10; i++){
	html += "<tr>";
	for (var j = 0; j <= 10; j++){
	html += "<td class=\"";
	n = i*j;
		if (i == 0) {
		html += "top";
		n = j;	
		}
		if (j == 0){
			if (i == 0) {
			html += " ";
		}
		html += "left"; n = i;
	}
	html += "\">"+n+"</td>";
	}
	html += "</tr>";
}
html += "</table>";

Автор: NordWest (не зарегистрирован), дата: 26 августа, 2013 - 20:47
#permalink

Помогите разобраться с функцией...
Не врубаюсь как работает цикл

function FormChecker(fcForm)
{
for (var key in error)
{
if (fcForm.elements[key].value.length == 0 || (n = fcForm.elements[key].value.search(/[^\s]/i)) == -1)
{
alert(error[key]);
return false;
}
}

return true;
}


Автор: Гость (не зарегистрирован), дата: 11 февраля, 2016 - 14:40
#permalink

для каждого элемента массива error выполняет код. при том передавая ему в переменной key номер элемента


Автор: Гость (не зарегистрирован), дата: 22 июня, 2016 - 15:14
#permalink

Подскажите где ошибка?

var k = tw.local.owner

if (tw.local.owner.Length < 4){

for (k; k.Length >= 4; k++)
{
k = "0" + k.toString;

}

}

tw.local.owner_out = k;


Автор: Гость (не зарегистрирован), дата: 27 июля, 2016 - 18:32
#permalink

точки с запятой нет в первой строке


Автор: Гость (не зарегистрирован), дата: 5 августа, 2016 - 21:36
#permalink

Привет всем!!! Помогите пожалуйста!
переменная per_name меняется каждые 01 секунду в нее приходят каждый раз новые имена,
Вопрос как из нее извлечь имена в виде списка, с помощью for
подскажите как это сделать, заранее спасибо, если можно кодом?


Автор: Гость (не зарегистрирован), дата: 6 ноября, 2016 - 16:55
#permalink

for(var i = 0; i < 6; i++){
document.write('');
for(var k = i + 1 ; k < 6; k++){
document.write('*');
}
document.write(':');
for(var k = i + 1 ; k < 6; k++){
document.write('*');
}

}
подскажите что здесь не правильно у меня должно получиться два треугольника друг напротив друга


Автор: Гость (не зарегистрирован), дата: 18 декабря, 2016 - 15:13
#permalink

помогите никак не получается решить задачу
задан массив длины m+n .поменять местами начало массива длины m с концом длины n


Автор: rick_77, дата: 12 марта, 2017 - 03:49
#permalink

Доброй ночи всем!
Как и многие здесь начинающие спрашиваю у опытных программеров.
Необходимо произвести замену повторяющихся символов в строке на другой (заранее подготовленный), а те которые не повторяются в строке ещё на один символ. Спрашиваю здесь потому что в задаче условие производить поиск символа в строке при помощи цикла.
Премного благодарен.


Отправить комментарий

Приветствуются комментарии:
  • Полезные.
  • Дополняющие прочитанное.
  • Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
    Для остальных вопросов и обсуждений есть форум.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.
Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешены HTML-таги: <strike> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <u> <i> <b> <pre> <img> <abbr> <blockquote> <h1> <h2> <h3> <h4> <h5> <p> <div> <span> <sub> <sup>
  • Строки и параграфы переносятся автоматически.
  • Текстовые смайлы будут заменены на графические.

Подробнее о форматировании

CAPTCHA
Антиспам
2 + 15 =
Введите результат. Например, для 1+3, введите 4.
 
Поиск по сайту
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Последние комментарии
Последние темы на форуме
Forum