Лекция 2 Типы данных и переменные
Слабый контроль типов Пример: var favNumber; favNumber = 3; favNumber = "Сан-Диего";
Примитивные типы данных в JavaScript числовой (Number) строковый (String) логический (Boolean) неопределенный (undefined) пустой (null)
Числа Способы записи чисел: Десятичныезнаки.(Десятичныезнаки)(Экспонен та).Десятичныезнаки(Экспонента) Десятичныезнаки(Экспонента) Примеры: е E12 3.Е-5 128e+100
Целые числа Десятичная запись Шестнадцатеричная запись 0x0 0XF8f00 0x1a3C5e7 Восьмеричная запись
Специальные числовые значения Специальное значение Причина появления СравнениеНавязчивость Infinity -Infinity Число слишком велико или слишком мало, чтобы быть представленным Все значения Infinity при сравнении считаются равными Да NaN Неопределенная операция NaN при сравнении никогда не считается равным чему-либо, даже самому себе Да
Пример использования специальных значений var posInf = Number.POSITIVE_INFINITY; var negInf = Number.NEGATIVE_INFINITY; alert(posInf == -negInf); var na1 = Number.NaN; var na2 = 0/0;
Строки Пример создания var string1 = "Это - строка"; var string2 = 'И это тоже'; Обращение к отдельным символам var myName = "book"; var thirdLetter = myName.charAt(2); Определение длины строки var strlen = myName.length(); Использование специальных символов с помощью управляющих кодов var myString = "Это - первая строка.\пА это - вторая."
Управляющие коды Управляющий код Значение \b Возврат на одну позицию \t Сдвиг табуляции (горизонтальный) \n Переход на новую строку \v Сдвиг табуляции(вертикальный) \f Подача страницы \r Возврат каретки \"Двойная кавычка \'Одинарная кавычка \\Обратная косая черта \ООО Символ Latin-1, представленный восьмеричными знаками ООО. Допустимыми являются значения \xHH Символ Latin-1, представленный шестнадцатеричными знаками HH. Допустимыми являются значения 00-FF \uHHHHСимвол Unicode, представленный шестнадцатеричными знаками HHHH
Использование кавычек в строках без экранирования Пример: var с = "Кто сказал 'мяу'?";
Объекты Вызов конструкторов: var myString = new String(); Добавление полей и методов к объекту динамически var myLocation = new Object(); myLocation.city = "San Francisco"; myLocation.state = "California";
Операция typeof Результат, возвращаемый typeof: Тип Результат Неопределенный (Undefined) Undefined Пустой (Null) Object Логический (Boolean) Boolean Числовой (Number) Number Строковый (String) String Объект (Object) Object Функция (Function) Function
Преобразование типов Пример преобразования строки в число: var х = "10" – 2; Пример преобразования строки в логическое значение: var х = "false"; // строка if(х) { alert("Данное значение х считается равным true"); }
Преобразование к типу Boolean Тип Конвертируется в булево значение Неопределенный (Undefined) False Пустой (Null)False Числовой (Number) False, если это 0 или NaN, иначе true Строковый (String) False, если это длина строки равна 0, иначе true Другие объектыTrue
Преобразование к типу Number Тип Конвертируется в числовое значение Неопределенный (Undefined) NaN Пустой (Null)0 Логический (Boolean) 1, если это true, 0, если это false Строковый (String) Соответствующее числовое значение, если строка похожа на число, иначе NaN Другие объектыNaN
Преобразование к типу String Тип Конвертируется в строку Неопределенный (Undefined) "undefined" Пустой (Null)"null" Логический (Boolean) " true", если это true, "false", если это false Числовой (Number) "NaN", " 0 " или строка, представляющая соответствующее числовое значение Другие объекты Значение, возвращаемое объектом с помощью метода toString (), если таковой имеется, иначе "undefined"
Примеры сравнений Преобразование типов при сравнении: 1 == true 0 == "" Сравнение без преобразования типов: 1 === true 0 === "" 0 === "0" Конкатенация строк: x="2"+3 x="2"+"3" x=2+"3"
Переменные Объявление и инициализация переменных var х; var а, b, с; var pi, index = 0, weekdays = ["Пн", "Вт", "Ср", "Чт", "Пт"]; Инициализация var firstName; firstName = "Студент"; равносильно: var firstName = "Студент"; Неявное объявление переменных m = 5;