Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
JavaScript_основы.doc
Скачиваний:
8
Добавлен:
04.11.2018
Размер:
322.05 Кб
Скачать

3.14.2. Логические ошибки

Логические ошибки — это ошибки в логике работы программы, которые можно выявить только по результатам работы скрипта. Как правило, интер­претатор не предупреждает о наличии ошибки, и программа будет выпол­няться, так как не содержит синтаксических ошибок. Такие ошибки доста­точно трудно выявить и исправить.

Предположим, необходимо вывести первые три элемента массива. Програм­мист, забыв, что индексация массивов начинается с нуля, пишет следующий

код:

<SCRIPT language="JavaScript">

<!--

var m_Mass1;

m_Mass1 = [1, 2, 3, 4];

for (i=1; i<4; i++) document.write(m_Mass1[i]+ "<BR>");

//-->

</SCRIPT>

В итоге возникает логическая ошибка, так как будут получены не первые элементы массива, а три элемента начиная со второго. Так как в данном при­мере нет синтаксических ошибок, интерпретатор сочтет код правильным.

3.14.3. Ошибки времени выполнения

Ошибки времени выполнения — это ошибки, которые возникают во время работы скрипта. Причиной являются события, не предусмотренные программистом. Классическим примером служит деление на Ноль.

3.15. Встроенные классы JavaScript

Класс — это тип объекта, включающий в себя переменные и функции для управления этими переменными. Переменные называют свойствами, а функции – методами.

3.15.1. Основные понятия

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

<Экземпляр класса> = new <Имя класса> ([<Параметры>]);

При создании экземпляра класса ссылка (указатель) сохраняется в переменной. Используя ссылку, можно обращаться к свойствам и методам созданного экземпляра класса.

При обращении к свойствам используется следующий формат:

<Экземпляр класса>.<Имя свойства>;

Обращение к методам осуществляется аналогично, только после имени метода необходимо указать круглые скобки:

<Экземпляр класса>.<Имя метода>();

В скобках часто указываются параметры метода.

3.15.2. Класс Global

Использование свойств и методов класса Global не требует создания экземпляра класса. Свойства и методы данного класса являются встроенными функциями JavaScript.

Свойства:

  • NaN содержит значение NaN (Not a Number, нет числа):

var m_x = NaN;

  • Infinity возвращает значение "плюс бесконечность":

var m_x = Infinity;

Методы:

parseint(<Строка>, [<Основание>]) преобразует строку в целое число системы счисления, заданной основанием. Если основание не указано, то по умолчанию используется десятичная система. Если строка не может быть преобразована в число, возвращается значение NaN. Например:

var m_Number = 15;

var m_Str = "5";

var m_Str5 = "FF";

var m_Str2 = m_Number - parseInt(m_Str); // Переменная содержит число 10

var m_Str3 = m_Number - parseInt(m_Str5, 16);

// Переменная содержит число -240

var m_Str4 = m_Number + parseInt(m_Str); // Переменная содержит число 20

parseFloat (<Строка>) преобразует строку в число с плавающей точкой:

var m_Str = "5.2";

var m_Str2 = parseFloat(m_Str); // Переменная содержит число 5.2

eval (<Строка>) вычисляет выражение в строке, как если бы это было обычное выражение JavaScript:

var m_Str = "3 + 5";

var m_Str2 = eval(m_Str); // Переменная содержит число 8

isNaN (<выражение>) проверяет, является ли выражение правильным числом. Возвращает true, если значение выражения равно NaN, и false, если выражение возвращает число;

isFinite(<выражение>) проверяет, является ли выражение конечным числом. Возвращает true или false;

escape <<строка>) кодирует строку шестнадцатеричными кодами:

var m_Str = escape("Привет");

// m_Str = %u041F%u0440%u0438%u0432%u0435%u0442

unescape(<cтрокa>) декодирует строку, закодированную методом escape():

var m_Str = unescape("%u041F%u0440%u0438%u0432%u0435%u0442");

// m_Str = Привет

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]