KEMBAR78
Coding for Future in Lutsk. JavaScript. Part 4 | PDF
Задача 11
За допомогою конструкції if..else
напишіть код, який отримує значення
prompt, а потім виводить alert:
•1, якщо значення >0,
•-1, якщо <0,
•0, якщо значення =0.
Розв’язок
var value = prompt('Введіть число', 0);
if (value > 0) {
alert( 1 );
} else if (value < 0) {
alert( -1 );
} else {
alert( 0 );
}
Задача 12 (домашнє
завдання)
Напишіть код, який буде питати логін (prompt).
Якщо відвідувач вводить “Admin”, то питається
пароль, якщо натиснув “Відміна” (escape) –
виводить “Вхід скасовано”, якщо вводить щось
інше – “Я вас не знаю”.
Пароль перевіряти так. Если введено пароль
“javascript”, то виводить “Ласкаво просимо!”, інакше
– “Пароль неправильний”, при відміні – “Вхід
скасовано”.
Вказівка: по натисканню Esc prompt повертає null.
Виняток – Safari, який повертає порожній рядок.
Блок-схема
Розв’язок
var userName = prompt('Кто прийшов?', '');
if (userName == 'Admin') {
var pass = prompt('Пароль?', '');
if (pass == 'javascript') {
alert( 'Ласкаво просимо!' );
} else if (pass == null) { // (*)
alert( 'Вхід скасовано' );
} else {
alert( 'Пароль неправильний' );
}
} else if (userName == null) { // (**)
alert( 'Вхід скасовано' );
} else {
alert( 'Я вас не знаю' );
}
Розв’язок
Задача 13
Перепишіть if з використанням
конструкції '? :'
if (a + b < 4) {
result = 'Мало';
} else {
result = 'Багато';
}
Розв’язок
result = (a + b < 4) ? 'Мало' : 'Багато';
Задача 14
Перепишіть if…else в '? :'
var gender, message;
if (gender == 'male') {
message = 'Привіт, пане';
} else if (gender == 'female') {
message = 'Привіт, пані';
} else if (gender == '') {
message = 'Привіт';
} else {
message = '';
}
Розв’язок
var gender, message;
gender = prompt("Ваша стать?", '');
message = (gender == 'male') ? 'Привіт, пане' :
(gender == 'female') ? 'Привіт, пані' :
(gender == '') ? 'Привіт' :
'';
alert(message);
Логічні оператори
Логічні ||(АБО), &&(І), !(Не).
alert( true || true ); // true
alert( false || true ); // true
alert( true || false ); // true
alert( false || false ); // false
alert( true && true ); // true
alert( false && true ); // false
alert( true && false ); // false
alert( false && false ); // false
Пріоритет у && більший, ніж у ||:
alert( true || true && false ); // true
Логічне НЕ:
var result = !value;
Спочатку аргумент звідиться до логічного типу
true/false, а потім повертається протилежне
значення.
Приклади:
alert( !true ); // false
alert( !0 ); // true
Подвійне логічне НЕ можна використовувати для
перетворення у логічний тип:
alert( !!"рядок" ); // true
alert( !!null ); // false
Задача 15
Напишіть умову if для перевірки того, що
змінна age знаходиться між 14 і 90
включно.
Розв’язок
if (age >= 14 && age <= 90)
Задача 16
Напишіть умову if для перевірки того, що
age НЕ знаходиться між 14 і 90 включно.
Зробіть два варіанти умови: з
використанням оператора НЕ ! і без
цього оператора.
Розв’язок
Перший варіант:
if (!(age >= 14 && age <= 90))
Другий варіант:
if (age < 14 || age > 90)
Перетворення типів
У JavaScript є три перетворення:
Рядкове: String(value) – в рядковому контексті або при
додаванні з рядком.
alert( true + "test" ); // "truetest"
alert( String(null) ); // "null"
Числове: Number(value) – в числовому контексті,
включаючи унарний плюс +value.
var a = +"123"; // 123
var a = Number("123"); // 123
Логічне: Boolean(value) – в логічному контексті, можна
також виконати подвійним НЕ: !!value.
alert( 2 == "два" ); // false
alert( Boolean("no") ); // true
Порівняйте такі фрагменти:
var p = prompt("?", '');
alert (Boolean(Number(p)));
var p = prompt("?", '');
alert (Boolean(p));
Що буде якщо вводити 0 і якщо
натискати кнопку “Скасувати”?

Coding for Future in Lutsk. JavaScript. Part 4

  • 1.
    Задача 11 За допомогоюконструкції if..else напишіть код, який отримує значення prompt, а потім виводить alert: •1, якщо значення >0, •-1, якщо <0, •0, якщо значення =0.
  • 2.
    Розв’язок var value =prompt('Введіть число', 0); if (value > 0) { alert( 1 ); } else if (value < 0) { alert( -1 ); } else { alert( 0 ); }
  • 3.
    Задача 12 (домашнє завдання) Напишітькод, який буде питати логін (prompt). Якщо відвідувач вводить “Admin”, то питається пароль, якщо натиснув “Відміна” (escape) – виводить “Вхід скасовано”, якщо вводить щось інше – “Я вас не знаю”. Пароль перевіряти так. Если введено пароль “javascript”, то виводить “Ласкаво просимо!”, інакше – “Пароль неправильний”, при відміні – “Вхід скасовано”. Вказівка: по натисканню Esc prompt повертає null. Виняток – Safari, який повертає порожній рядок.
  • 4.
  • 5.
    Розв’язок var userName =prompt('Кто прийшов?', ''); if (userName == 'Admin') { var pass = prompt('Пароль?', ''); if (pass == 'javascript') { alert( 'Ласкаво просимо!' ); } else if (pass == null) { // (*) alert( 'Вхід скасовано' ); } else { alert( 'Пароль неправильний' ); } } else if (userName == null) { // (**) alert( 'Вхід скасовано' ); } else { alert( 'Я вас не знаю' ); }
  • 6.
  • 7.
    Задача 13 Перепишіть ifз використанням конструкції '? :' if (a + b < 4) { result = 'Мало'; } else { result = 'Багато'; }
  • 8.
    Розв’язок result = (a+ b < 4) ? 'Мало' : 'Багато';
  • 9.
    Задача 14 Перепишіть if…elseв '? :' var gender, message; if (gender == 'male') { message = 'Привіт, пане'; } else if (gender == 'female') { message = 'Привіт, пані'; } else if (gender == '') { message = 'Привіт'; } else { message = ''; }
  • 10.
    Розв’язок var gender, message; gender= prompt("Ваша стать?", ''); message = (gender == 'male') ? 'Привіт, пане' : (gender == 'female') ? 'Привіт, пані' : (gender == '') ? 'Привіт' : ''; alert(message);
  • 11.
    Логічні оператори Логічні ||(АБО),&&(І), !(Не). alert( true || true ); // true alert( false || true ); // true alert( true || false ); // true alert( false || false ); // false alert( true && true ); // true alert( false && true ); // false alert( true && false ); // false alert( false && false ); // false Пріоритет у && більший, ніж у ||: alert( true || true && false ); // true
  • 12.
    Логічне НЕ: var result= !value; Спочатку аргумент звідиться до логічного типу true/false, а потім повертається протилежне значення. Приклади: alert( !true ); // false alert( !0 ); // true Подвійне логічне НЕ можна використовувати для перетворення у логічний тип: alert( !!"рядок" ); // true alert( !!null ); // false
  • 13.
    Задача 15 Напишіть умовуif для перевірки того, що змінна age знаходиться між 14 і 90 включно.
  • 14.
  • 15.
    Задача 16 Напишіть умовуif для перевірки того, що age НЕ знаходиться між 14 і 90 включно. Зробіть два варіанти умови: з використанням оператора НЕ ! і без цього оператора.
  • 16.
    Розв’язок Перший варіант: if (!(age>= 14 && age <= 90)) Другий варіант: if (age < 14 || age > 90)
  • 17.
    Перетворення типів У JavaScriptє три перетворення: Рядкове: String(value) – в рядковому контексті або при додаванні з рядком. alert( true + "test" ); // "truetest" alert( String(null) ); // "null" Числове: Number(value) – в числовому контексті, включаючи унарний плюс +value. var a = +"123"; // 123 var a = Number("123"); // 123 Логічне: Boolean(value) – в логічному контексті, можна також виконати подвійним НЕ: !!value. alert( 2 == "два" ); // false alert( Boolean("no") ); // true
  • 18.
    Порівняйте такі фрагменти: varp = prompt("?", ''); alert (Boolean(Number(p))); var p = prompt("?", ''); alert (Boolean(p)); Що буде якщо вводити 0 і якщо натискати кнопку “Скасувати”?