Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Я учу JavaScript (https://javascript.ru/forum/misc/43357-ya-uchu-javascript.html)

ksa 03.12.2013 20:26

Цитата:

Сообщение от Antarius
А лично ты чем пользуешься?

Нотепад++ :D

Antarius 03.12.2013 23:43

Товарищи, я остановился на Sublime Text. Очень удобный интерфейс, со сниппетами до конца еще не разобрался но программка в целом очень нравится :) Сейчас у меня была задача сделать таблицу умножения.
В примечании написано:
Использовать цикл в цикле.
for (var i = 1; i < 10; i++) {
  for (var j = 1; j < 10; j++) {
    var result = i * j;
  }
}

Вот само решение, конечно, без помощи гугла я бы не сдвинулся дальше, но сейчас я хорошо понимаю что тут написано.
<table border="1">
			<script type="text/javascript">

				for (var i = 1; i < 10; i++) {
					document.write("<tr>");
  					for (var j = 1; j < 10; j++) {
    					var result = i * j;
    					document.write("<td>"+result+"</td>");
  					}	
  					document.write("</tr>");
				}
			</script>
	</table>

Возникли проблемы решения такой же задачи с Do While, через пол часа отпишусь если не смогу сам решить :D да в любом случае я сюда всё выкладываю, ОпенСорс фор зе вин! :lol:

Antarius 03.12.2013 23:47

Цитата:

Сообщение от ksa
Нотепад++

Там нет сниппетов :lol: я же нуб, без них проблемотично :lol:

Antarius 04.12.2013 01:34

Граждане! Сейчас изучаю While и For. Это два цикла.
For я больше понимаю чем While. Но вот тут главный вопрос: Есть ли какая либо задача без которой нельзя обойтись без While?

ksa 04.12.2013 08:44

Цитата:

Сообщение от Antarius
Там нет сниппетов

Цитата:

Ведь для хорошего для рыбака
Удочка только нужна и река
http://spinning.fish-fisher.ru/p/blog-page_25.html

Antarius 05.12.2013 18:19

Товарищи офицеры, у меня возник маленький баг и я не в курсе как его решить. Вроде всё понятно, но цикл работает не правильно.
Да и в конце выводит не 5, а 6...я не знаю где я напортачил..
Нужно чтобы выскакивало сообщение до тех пор пока юзер не напишет число больше 5. :help:
for (var i = 0; i <= 5; i++) {
		i = Number(prompt("Введите любое число больше 5"));
		if (i <= 5){
			alert("Вы ввели "+i+" , Пожалуйста введите число больше 5");
		}
		else{
			alert("Спасибо, вы ввели "+i);
			break;
		}
	}

	document.write("Число "+i);

ksa 05.12.2013 18:26

Цитата:

Сообщение от Antarius
цикл работает не правильно

Он работает правильно.

Цитата:

Сообщение от Antarius
конце выводит не 5, а 6

Потому как цикл закончился при этом значении переменной i.

Цитата:

Сообщение от Antarius
Нужно чтобы выскакивало сообщение до тех пор пока юзер не напишет число больше 5

Как вариант...

<!DOCTYPE html>
<html>
<head>
<!--
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" type="text/css" href="tmp.css" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
-->
<style type="text/css">
</style>
<script type="text/javascript">
while (true) {
	var i = Number(prompt("Введите любое число больше 5"));
	if (i <= 5){
		alert("Вы ввели "+i+" , Пожалуйста введите число больше 5");
	} else {
		alert("Спасибо, вы ввели "+i);
		break;
	};
}
document.write("Число "+i);
</script>
</head>
<body>
</body>
</html>

danik.js 05.12.2013 20:39

Другой вариант (насколько я знаю за while(true) в некоторых местах могут наругать, правда за присвоение в условии тоже наругают :) )
var promptNumber = function() {
    return Number(prompt("Введите любое число больше 5"));
}

var i; 
while ( (i = promptNumber()) <= 5) {
    alert("Вы ввели "+i+" , Пожалуйста введите число больше 5");
}

alert("Спасибо, вы ввели "+i);
//document.write("Число "+i);

ksa 05.12.2013 21:36

Цитата:

Сообщение от danik.js
насколько я знаю за while(true) в некоторых местах могут наругать

Тогда модифицируем немного...

do {
	var i = Number(prompt("Введите любое число больше 5"));
	if (i <= 5){
		alert("Вы ввели "+i+" , Пожалуйста введите число больше 5");
	} else {
		alert("Спасибо, вы ввели "+i);
	};
} while (i<=5);
alert("Число "+i);
//document.write("Число "+i);

Vlasenko Fedor 06.12.2013 03:01

Вариант учитывает ввод ошибочных данных к примеру букв
for (var getNumber = function () {
      return prompt("Введите любое число больше 5")
  }, i; i = getNumber(), 5 >= i || isNaN(i);) 
  //закончили объявление переменных и условие цикла, ниже строчка одна - тело цикла как видите можно без {}
    alert("Вы ввели " + (isNaN(i) ? 'не число': i) + ". Пожалуйста введите число больше 5");
    alert("Спасибо, вы ввели " + i);

Цитата:

Сообщение от danik.js (Сообщение 284821)
правда за присвоение в условии тоже наругают

где ругают?
стандартный цикл это объявление переменных var a, b, c...;
выполнение действий можно в цепочку, последнее условие a++, b -=1, !с;
выполнение действий после выполнения прохода тела цикла --g, d=0, z--
for (var i = 3, b = 0; alert('i - ' + i--), i; alert('b - ' + b++))console.log(i, b);


Часовой пояс GMT +3, время: 13:36.