JavaScript функції для роботи з типами даних
Іноді в програмі потрібно перетворити тип змінної. Розглянемо основні функції, пов'язані з перетворенням типів:
-
-
-
Функція javascript
-
Для того щоб дізнатися поточний тип даних конкретної змінної в javascript використовується функція :
перетворює зазначений в параметрі рядок у ціле число. Якщо є другий параметр - система числення - перетворення відбувається за вказаною основою системи числення (8, 10 або 16):
parseInt ("3.14") // результат = 3
parseInt ("- 7.875") // результат = -7
parseInt ("435") // результат = 435
parseInt ("Вася") / * результат = NaN, тобто не є числом * /
parseInt ("15", 8) // результат = 13
Bажливо:
Функція відсікає дробову частину числа. Щоб округлити число необхідно використовувати метод
перетворює зазначений рядок в число з плаваючою розділової комою (десятковою):
parseInt ("3.14") // результат = 3.14
parseInt ("- 7.875") // результат = - 7.875
parseInt ("435") // результат = 435
parseInt ("Вася") / * результат = NaN, тобто не є числом * /
parseInt ("17.5") // результат = 17.5
Важливо: Обидві функції і і використовують в якості параметра рядок і перетворюють його в число
слугує для визначення того, чи є значення виразу числом:
isNaN (123) /* результат false (Тобто це - число) */
isNaN ("50 гривень") /* результат true (Тобто це - не число) */
Іноді можна отримати таку помилку JavaScript - - коли значення не є числом (а очікується число):
var a = 8;
var b = "pi";
var S = a*b; // S=NaN
Як значення змінної може бути - не визначене. Таке трапляється, коли змінна створена, але значення їй не присвоєно:
var b;
document.write(b); // b=undefined
typeof 33 // повертає рядок "number",
typeof "A String" // повертає рядок "string",
typeof true // повертає рядок "boolean",
typeof null // повертає рядок "object"
Приклад 1. Створіть сценарій:
-
з двома рядковими змінними зі значеннями і ; за допомогою операції конкатенації об'єднайте рядки;
-
з двома числовими змінними зі значеннями і ; виведіть їх добуток, перетворений в ціле число. Для виведення значень використовуйте метод .
Рішення:
-
Створіть веб-сторінку з html-скелетом і тегом script:
-
У коді для javascript iніціалізуйте дві рядкові змінні:
-
Ініціалізуйте дві числові змінні:
-
Виведіть результати за допомогою методу document.write() з декількома параметрами, розділеними через кому. Щоб вивести в два рядки слід застосувати тег . Для перетворення в цілий тип використовуйте функцію parseInt():
-
Протестуйте сценарій в браузері.
<html><head></head>
<body>
<!-- Сценарий -->
<script>
// для кода JavaScript
</script>
<!-- Конец сценария -->
</body></html>
var c = 3.14;
var d = 0xFF; // 16-а система числення
Пояснення: Згадаймо, що для чисел 16-ї системи використовується префікс 0x.
// Ініціалізація двох змінних:
var a = "рядок1";
var b = "рядок2";
document.write ("конкатенація:", a + b, "<br/> добуток:", parseInt (c * d));
Завдання Js 1: Дано змінні:
a="12";
b="7.15";
Знайдіть залишок від ділення числових значень змінної a на змінну b. Використовуйте функції перетворення типів.
Результатом має бути число 5.
Pекомендації:
Для округлення числа слід використовувати метод :
x = Math.round(x)
Питання для самоконтролю:
-
Назвіть функцію, перетворюючу зазначений в параметрі рядок у ціле число.
-
Назвіть функцію, перетворюючу зазначений рядок в число з плаваючою розділової комою.
-
В якому випадку може виникнути помилка NaN?
-
Коли значення змінної може бути undefined?
Методи javaScript виведення даних і введення (діалогові вікна)
JavaScript може видавати повідомлення і запитувати дані у користувача за допомогою трьох діалогових вікон, що викликаються методами alert, confirm і prompt. Розглянемо роботу з ними:
1.
Синтаксис:
[window.] alert (повідомлення)
За допомогою вже знайомого нам модального вікна з попередженням на екран виводиться інформація для користувача. Hаприклад:
alert ("повідомлення");
Користувач читає повідомлення і клацає по кнопці OK, щоб закрити це вікно.
2.
Синтаксис:
[window.] confirm (повідомлення)
На відміну від попереднього модального вікна, в діалоговому вікні confirm користувач може вибрати один з двох варіантів: OK або Скасування.
Важливо: при встановленні кнопка OK, то в сценарій повертається значення true, якщо Скасування - значення false.
confirm ("Ви дійсно хочете завершити роботу?");
3.
Синтаксис:
[window.] prompt (повідомлення, значення_поля_введення)
С помощью окна ввода, вызываемого методом prompt, пользователь может ввести данные, которые будут использоваться далее в сценарии.
prompt ("Як Вас звати?", "Іван");
Важливо: Метод приймає два аргументи: перший виводиться в якості простого рядка в модальному вікні; другий - значення за замовчуванням в текстовому полі для введення. Обидва аргументи укладаються в лапки.
Важливо: Для вирішення завдань слід мати на увазі, що функція повертає строкове значення, тобто якщо потрібно проводити подальші обчислення з введенням значенням, то необхідно перетворити тип даних
Важливо: У всіх трьох випадках використання методів введення або виведення об'єкт можна опускати:
window.alert ("повідомлення"); // строгий синтаксис
alert ("повідомлення"); // нестрогий синтаксис
Цей об'єкт означає «вікно», і для стислості звернення до методів дозволено його не використовувати, тому в синтаксисі він виділений квадратними дужками.
Приклад 2:
-
При завантаженні сторінки запросити у користувача ввести ім'я (функція ). За допомогою методу вивести на екран рядок .
-
За допомогою функції попросити користувача ввести 2 числа. Виконати добуток чисел і вивести результат на екран за допомогою методу . Висновок повинен мати наступний вигляд:
Рішення:
1 завдання:
-
Створіть веб-сторінку з html-скелетом і тегом script:
-
У коді для javascript Ініціалізуйте змінну для присвоювання їй значення - імені, яке введе користувач в модальне вікно prompt ():
-
Виведіть збережене значення за допомогою методу document.write () з декількома параметрами, розділеними через кому:
-
Протестуйте сценарій в браузері.
<html><head></head>
<body>
<!-- Сценарiй -->
<script>
// для коду JavaScript
</script>
<!-- Кiнець сценарію -->
</body></html>
var name = prompt ("Введіть Ваше ім'я");
Пояснення: В результаті даного присвоювання в змінній name збережеться значення, яке введе користувач в модальне вікно.
document.write ("Привіт,", name, "!");
2 завдання:
-
Створіть веб-сторінку з html-скелетом і тегом script.
-
У коді для javascript Ініціалізуйте дві змінних для присвоювання їм значень - чисел, яке введе користувач в модальні вікна prompt (). Для перетворення в цілий тип використовуйте функцію parseInt ().
-
Виконайте добуток змінних, виведіть результат за допомогою методу document.write (). Для «красивого виведення» використовуйте кілька параметрів, перерахованих через кому:
-
Протестуйте сценарій в браузері.
Пояснення: Згадаймо, що метод prompt () повертає строкове значення. Тому для подальшої роботи з числами, значення необхідно перетворити в числовий тип:
var a = parseInt (prompt ("Введіть перше число"));
var b = parseInt (prompt ("Введіть друге число"));
Пояснення: Перетворення також можна виконати окремим оператором:
var a = prompt ("Введіть перше число");
a = parseInt (a);
document.write(a, " * ", b, " = ", a*b);
Завдання Js 2. Допишіть фрагмент коду для конвертації строкового значення в числове. Для виведення результату використовуйте метод document.write:
var x = prompt ("Введіть значення x", "0");
var y = prompt ("Введіть значення y", "0.0");
var integerX = ... ;
var floatY = ... ;
var result = integerX + floatY;
...;
Завдання Js 3. Знайдіть помилки в наступному фрагменті коду:
var firstName = prompt("Введіть ім'я"; "сюди");
var lastName = promt("Введіть прізвище");
int age = prompt("Введіть вік");
alert(Age);
Завдання Js 4. Обчислити значення виразу за формулою (всі змінні приймають дійсні значення):
Пропонований алгоритм:
-
Запит значення
-
Oбчислення виразу
-
Висновок результату за допомогою методу
Питання для самоконтролю:
-
Які методи для виведення модальних вікон в javascript Ви знаєте?
-
Який метод дозволяє вивести модальне вікно для введення даних?
-
Який з варіантів роботи з методом alert, розташованих нижче, правильний ?:
-
alert('hello');
-
window.alert('hello');