Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Почему не работает? (https://javascript.ru/forum/misc/70356-pochemu-ne-rabotaet.html)

korifa 30.08.2017 12:07

Почему не работает?
 
var value = prompt('Enter your name :', "");
if (value .toLowerCase() == 'админ') {
	var pass = prompt('Введите пароль :', '');
	if (pass .toLowerCase() == 'черный властелин'){
		alert('Добро пожаловать');
	}
	else if (pass == null) {
		alert('Вход отменен');
	}
	else {
		alert('Пароль не верен');
	}
else if (value == null) {
	alert('Вход отменен');
}
else {
	alert('Я вас не знаю')	
}

j0hnik 30.08.2017 12:43

вторую фигурную скобку в строку 12 } поставьте

рони 30.08.2017 12:46

korifa,
сначала проверяйте на null !!! и фигуные скобки не забывайте

korifa 30.08.2017 12:50

Цитата:

Сообщение от j0hnik (Сообщение 463095)
вторую фигурную скобку в строку 12 } поставьте

Заработало
Спасибо

korifa 30.08.2017 12:50

Цитата:

Сообщение от рони (Сообщение 463096)
korifa,
сначала проверяйте на null !!! и фигуные скобки не забывайте

учту, спасибо

Nexus 30.08.2017 13:30

Мосчная авторизация)
Надеюсь это просто для "попрактиковаться" для закрепления изученного материала.

j0hnik 30.08.2017 14:03

Цитата:

Сообщение от Nexus (Сообщение 463101)
Мосчная авторизация)
Надеюсь это просто для "попрактиковаться" для закрепления изученного материала.

Нет, делает новую платежную систему.
Прикольно было бы вместо
alert('Я вас не знаю')

alert('Кто вы такие??? Идите на ***, я вас не звал!!!')
:)

korifa 02.09.2017 10:23

Цитата:

Сообщение от Nexus (Сообщение 463101)
Мосчная авторизация)
Надеюсь это просто для "попрактиковаться" для закрепления изученного материала.

Я только пару дней учу js))))

laimas 02.09.2017 11:08

Цитата:

Сообщение от korifa
Я только пару дней учу js

Авторизация, это только сервер, никто кроме него!

korifa 04.09.2017 18:12

Как это решить ?
Дано натуральное число n. Напишите рекурсивную функцию, которая возвращает строку чисел от 1 до n, разделенных пробелом.

рони 04.09.2017 18:18

korifa,
создайте массив arr = [] , заполните от 1 до n, return arr.join(" ")

рони 04.09.2017 19:44

korifa,
function fn(n, arr)
   {
     arr ? arr.unshift(n) : (arr = [n]);
     return n > 1?  fn(--n, arr) : arr.join(" ")
   }
   alert(fn(7));

Rasy 04.09.2017 20:24

рони,
Любитель ты мудрено попрогать. Заставляешь меня возвращаться в мануалы. Это хорошо:)

korifa 05.09.2017 09:05

Цитата:

Сообщение от рони (Сообщение 463686)
korifa,
function fn(n, arr)
   {
     arr ? arr.unshift(n) : (arr = [n]);
     return n > 1?  fn(--n, arr) : arr.join(" ")
   }
   alert(fn(7));

если не сложно бьясните 3 строчку

korifa 05.09.2017 10:02

Цитата:

Сообщение от korifa (Сообщение 463708)
если не сложно бьясните 3 строчку

конец 3 строчки

рони 05.09.2017 10:12

korifa,
arr ? если аргумент существует, добавить в его начало n arr.unshift(n) , иначе присвоить аргументу значениие массива, с одним элементом (arr = [n]); arr = [7] в данном случае

условный оператор
Рекурсия

рони 05.09.2017 10:22

korifa,
тоже самое, только на такт длиннее, за первый такт создатся пустой массив, но с полной длиной n , а не заполненый, как в примере выше там длина 1, и увеличивается по мере добавления.
function fn(n, arr)
   {
     arr ? (arr[--n]= n+1) : (arr = new Array(n));
     return n ?  fn(n, arr) : arr.join(" ")
   }
   alert(fn(7));

Rasy 05.09.2017 12:43

Кстати, за использование нетрадиционного тернарного оператора ругается JSlint. Пока в раздумьях стоит ли так писать код.

рони 05.09.2017 13:33

Цитата:

Сообщение от Rasy
стоит ли так писать код

не вижу препятствий, но если хочется без ?.
function fn(n, arr)
   {
     if(!arr) arr = [];
     arr[--n]= n+1;
     if(!n)return arr.join(" ");
     return fn(n, arr);
   }
   alert(fn(7));

Dilettante_Pro 05.09.2017 14:19

Вариант без arr
function fn(n, strRes)
{    strRes = strRes ? strRes : ''; 
      strRes =  n + " " + strRes;
      return --n ? fn(n, strRes): strRes.trim(); 
}
alert(fn(7));

или
function fn(n, strRes)
{    strRes =  n + " " + strRes;
      return --n ? fn(n, strRes): strRes.trim(); 
}
alert(fn(7,''));

Nexus 05.09.2017 14:42

Цитата:

Сообщение от рони
создайте массив arr = [] , заполните от 1 до n, return arr.join(" ")

alert(new Array(10).fill(1).map(function(_,i){return ++i;}).join(' '));

рони 05.09.2017 14:50

Nexus,
а где рекурсия? :)

Nexus 05.09.2017 14:52

рони, прошу прощения, я не обратил внимания на это условие...

Nexus 05.09.2017 15:07

function func(n,res){
	return n--?func(n,1+n+' '+(res||'')):(res||'').trim();
}
alert(func(7));

рони 05.09.2017 15:07

Nexus,
:) заполнение масссива
https://javascript.ru/forum/project/...resheniya.html
alert(Array.from(' '.repeat(10),(_, i) => ++i+_).join('').trim());


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