Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
Топ:
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
Основы обеспечения единства измерений: Обеспечение единства измерений - деятельность метрологических служб, направленная на достижение...
Интересное:
Аура как энергетическое поле: многослойную ауру человека можно представить себе подобным...
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Национальное богатство страны и его составляющие: для оценки элементов национального богатства используются...
Дисциплины:
2017-06-29 | 247 |
5.00
из
|
Заказать работу |
В JavaScript есть три преобразования:
1. Строковое преобразование.
2. Числовое преобразование.
3. Преобразование к логическому значению.
Строковое преобразование
Строковое преобразование происходит, когда требуется представление чего-либо в виде строки. Например, в неявном виде его производит функция alert.
При приведении объекта к строке неявным образом вызывается метод toString, который так же можно вызвать явно.
Можно также осуществить преобразование явным вызовом String(val):
String(null) === "null"; // true
Также для явного преобразования применяется оператор "+", у которого один из аргументов строка. При «сложении» числа со строкой, число преобразуется к строке и происходит его конкатенация (склеивание) со вторым операндом. Например:
123 + "test"; // "123test"
"123" + undefined; // "123undefined"
Численное преобразование
Численное преобразование происходит в математических функциях и выражениях, а также при сравнении данных различных типов (кроме сравнений ===,!==). Операции инкремента или декремента над строкой приведут её к числу. Если значение, содержащиеся в строке не может быть расценено как число, то результатом выполнения инкремента или декремента над такой строкой будет специальное значение NaN типа number. Для явного преобразования можно использовать функции parseInt - для преобразования строки в целое число и parseFloat -для преобразования в дробное. Побитовые операторы приводят число к 32-разрядному целому.
Для преобразования к числу в явном виде можно вызвать Number(val), либо, что короче, поставить перед выражением унарный плюс "+":
let a = +"123"; // 123
let a = Number("123"); // 123
Значение | Преобразуется в |
undefined | NaN |
null | |
true/false | 1 / 0 |
Строка | Пробельные символы по краям обрезаются. Далее, если остаётся пустая строка, то 0, иначе из непустой строки "считывается" число, при ошибке результат NaN. |
Специальные значения
Интуитивно, значения null/undefined ассоциируются с нулём, но при преобразованиях ведут себя иначе. Специальные значения преобразуются к числу так:
Значение | Преобразуется в |
undefined | NaN |
null |
Это преобразование осуществляется при арифметических операциях и сравнениях >, >=, <, <=, но не при проверке равенства ==. В нём считается, что null и undefined равны "==" между собой, но эти значения не равны никакому другому значению. Это ведёт к забавным последствиям.
alert(null >= 0); // true, т.к. null преобразуется к 0
alert(null > 0); // false, т.к. null преобразуется к 0
alert(null == 0); // false, т.к. == рассматривает null особо.
alert(undefined > 0); // false, т.к. undefined -> NaN
alert(undefined == 0); // false, т.к. это undefined (без преобразования)
alert(undefined < 0); // false, т.к. undefined -> NaN
Логическое преобразование
Преобразование к true/false происходит в логическом контексте, таком как if(value), и при применении логических операторов.
Все значения, которые интуитивно «пусты», становятся false. Их несколько: 0, пустая строка, null, undefined и NaN. Остальное, в том числе и любые объекты – true.
Полная таблица преобразований:
Значение | Преобразуется в |
undefined, null | false |
Числа | Все true, кроме 0, NaN - false. |
Строки | Все true, кроме пустой строки "" - false |
Объекты | Всегда true |
Для явного преобразования используется двойное логическое отрицание!!value или вызов Boolean(value).
Встроенные модальные окна.
alert
Синтаксис:
alert(сообщение);
alert выводит на экран окно с сообщением и приостанавливает выполнение скрипта, пока пользователь не нажмёт «ОК». Окно сообщения, которое выводится, является модальным окном. Слово «модальное» означает, что посетитель не может взаимодействовать со страницей, нажимать другие кнопки и т.п., пока не разберётся с окном. В данном случае – пока не нажмёт на «OK».
prompt
Функция prompt принимает два аргумента:
result = prompt(title, default);
Она выводит модальное окно с заголовком title, полем для ввода текста, заполненным строкой по умолчанию default и кнопками OK/CANCEL. Пользователь должен либо что-то ввести и нажать OK, либо отменить ввод кликом на CANCEL или нажатием Esc на клавиатуре. Вызов prompt возвращает то, что ввёл посетитель – строку или специальное значение null, если ввод отменён.
confirm
Синтаксис:
result = confirm(question);
confirm выводит окно с вопросом question с двумя кнопками: OK и CANCEL. Результатом будет true при нажатии OK и false – при CANCEL(Esc).
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!