Добавляем...


  Преобразование типов
    Автоматическое преобразование типов является одной из самых мощных возможностей JavaScript, но и самой потенциально опасной для небрежного программиста. Преобразование типов - это конвертирование данных одного типа в данные другого типа. В JavaScript это происходит автоматически, когда вы изменяете тип данных, хранимых в переменной:

var х = "3.14";
х = 3.14;

    Тип х меняется со строкового на числовой. Кроме свойственного JavaScript автоматического конвертирования, программист имеет возможность использовать принудительное конвертирование, используя, например, методы toString () или parseInt (). Хотя все это кажется достаточно простым, проблема преобразования типов заключается в том, что оно часто происходит менее очевидным образом, когда, например, выполняются операции с данными разнородных типов. Рассмотрим следующий пример:

var х = "10." - 2;

    В этом примере из строки вычитается число, что на первый взгляд выглядит весьма необычным. Но JavaScript знает, что для вычитания требуется два числа, поэтому строка "10" превращается в число 10, выполняется вычитание, а результат - число 8 - запоминается в х.
    Суть в том, что автоматическое преобразование типов происходит в JavaScript всегда, когда данные имеют тип, отличный от того, который необходим для соответствующего действия. Например, как мы отмечали ранее, тип условия (фрагмента кода, заключенного в круглые скобки) в операторах управления, подобных if/else, должен быть логическим. Это значит, что в операторе

var х = "false"; // строка
if (х) {
alert("Данное значение х считается равным true");
}

интерпретатор должен каким-то образом конвертировать указанную строку в значение типа Boolean, чтобы выяснить, следует ли выполнять тело оператора if.
    Точно так же, поскольку документы HTML состоят из текста, интерпретатор в следующем примере должен конвертировать число в строку, чтобы записать его на страницу:

var х = 21.84е22; // число
document.write(х); // х автоматически преобразуется в строку

Здесь возникает важный вопрос: какие правила использует интерпретатор для такого преобразования?


добавить комментарий
(без перезагрузки и регистрации)


10 случайных разделов

Что ищем на сайте ?


Примеры кода на сайте







@ 2008-2011 Amber
При использовании материалов ссылка на сайт обязательна
Яндекс.Метрика