Отладка скриптов. ввод и вывод данных

Наиболее распространенный способ отладки заключается в многократном вызове метода alert() объекта JavaScript window, который выводит стандартное диалоговое окно с текстом и кнопкой OK или других методов, выводящих диалоговые окна, например confirm() и prompt():

1. alert («сообщение») (window. alert())

Данный метод позволяет выводить диалоговое окно с заданным сообщением и кнопкой ОК. Окно, создаваемое посредством alert(), является модальным и обладает свойством останавливать все последующие действия пользователя и программ, если его не убрать, щелкнув на кнопке ОК.

2. confirm («сообщение»)

Окно с сообщением, создаваемое посредством confirm(), также является модальным. Если пользователь щелкнет на кнопке «ОК», то метод вернет логическое значение true, а если он щелкнет на кнопке «Отмена» (Cancel), то возвращается значение false. Возвращаемое значение можно затем обработать в программе и, создать эффект интерактивности.

3. prompt(«сообщение», «значение_поля_ввода_данных»)

Метод prompt выводит на экран диалоговое окно с сообщением, и с текстовым полем, в которое пользователь может ввести данные. В отличие от методов alertQ и confirm() данный метод принимает два параметра: сообщение и значение, которое должно появиться в текстовом поле ввода данных по умолчанию. Кроме этого, в окне предусмотрены две кнопки: ОК и Отмена (Cancel). Если пользователь щелкнет на кнопке ОК, то метод вернет содержимое поля ввода данных, а если он щелкнет на кнопке Отмена, то возвращается логическое значение false. Метод используется для простого ввода данных.

Отметим, что объект window, из которого происходит вызов методов, может не указываться при вызове.

<!-- пример pr6: Вывод текста в окно -->

<html> <head>

<title> вывод окна</title>

<script type="text/javascript">

alert("Вас приветствует JavaScript и метод alert()!");

confirm("Метод confirm, выберите вариант !");

prompt("Метод prompt(),Введите Ваше имя");

</script>

</head>

<body >

<P> <CENTER>

<H1 style="color:blue">Вывод окон: alert(), confirm() и prompt() </h1>

<HR><P><P>Cтраница документа </center>

</body>

</html>

Помимо этого, существует более продвинутыe способы отладки.

Практически для каждого браузера написаны специальные отладчики, позволяющие производить отладку скриптов.

Одним из лучших редакторов для разработки кода JavaScript является редактор “Adobe DreamWeaver CS5” с возможными расширениями (JQuery API). Программисты Java могут использовать для работы с JavaScript среду разработки Eclipse и плогины к Eclipse JSEclipse и Aptana Studio.

Среди известных JavaScript библиотек можно отметить Adobe life, Dojo Toolkit, Extjs, jQuery, Mootools, Prototype, Qooxdoo (англ.).

Описание языка

Типы данных

JavaScript поддерживает базовые типы данных и объекты. Имеется пять базовых типов данных: числа; строки; булев (логический) тип; undefined – неопределенный; null - пустой. Фактический интерес с точки зрения хранения данных представляют три: числа, логические значения и строки. Неопределенный и пустой типы представляют только одно значение. Числам, строкам и логическим данным соответствуют объектные типы Number, String и Boolean(классы оболочки), которые включают большое число методов. Таким объектам могут присваиваться значения соответствующих базовых типов. Хотя строковые литералы относят к базовым типам, фактически переменные типа строка представляют собой ссылки на объекты.

Переменные в JavaScript объявляются с помощью ключевого слова var, например:

var x;//undefined -переменная

После этого можно задать значение переменной:

x = "Sample string";

В языке JavaScript переменные не имеют строго закрепленного типа, тип переменной определяется данными, которые она хранит. Фактически переменная представляет собой ссылку. Можно объявить переменную и присвоить ей число, а затем присвоить строку:

var man1 =10;

man1 = "Superman";

Объектные переменные создаются через оператор new:

var man2 = new String("Superman");

В Javascript - все объекты, кроме базовых типов. Везде, где необходимо, базовые типы автоматически преобразуются в объекты. Можно, например, определять длину строки как:

alert("Superman".length);

Язык JavaScript позволяет объявить одну и туже переменную несколько раз и даже создавать переменные без их объявления, например:

y = "Second string";

При этом переменная y будет создана, попадет в свойства глобального объекта window и становится глобальной. Такая практика программирования не приветствуется, поскольку возможны пересечения с другими переменными окна и конфликты.

Преобразование типа

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

var test = Boolean("Stroka") // true

var х = Number("1234")

var z=String(x);

Для преобразования цифровой строки в число может быть использованы методы parseInt(“строка”) и parseFloat(“строка”). Еще один способ состоит в использовании методов объектов. Метод toString () возвращает строку, соответствующую вызывающему его объекту.

var x=Number.toString()

var y=number.toString()

Число number преобразуется к объекту Number, затем вызовется метод toString(). Преобразовать число в строку с указанным числом знаков можно с помощью методов toFixed и toExponential().

<!-- пример pr7: Преобразования типов-->

<html> <head>

<title> вывод окна</title>

</head>

<body >

<P> <CENTER>

<HR><P><P>Cтраница документа </center>

<script type="text/javascript">

var x=parseInt("35.55");

alert(2+2+ " "+25);//425

confirm(" x= " + x);//35

x=Number("25.5")+0.5; //26

prompt(" x= "+x);//26

</script>

</body>

</html>

Числа

В языке JavaScript численный тип данных включает целые и вещественные числа. Целые числа могут принимать значения от –253 до 253, вещественные могут принимать большие значения в пределах ±1.7976 x 10308 или быть точными в пределах ±2.2250 x 10-308.

Числа также могут записываться в экспоненциальной форме, например 1.25e-05.

Для записи целого шестнадцатеричного числа в начале ставится ноль, затем буква x, затем само число, которое может содержать цифры от 0 до 9 и буквы от A до F.

Числа в шестнадцатеричной системе счисления могут пригодиться при использовании битовых операций, а также для хранения цветов – для Web все цвета хранятся в шестнадцатеричном виде.

В языке JavaScript также имеется возможность записи чисел в восьмеричной системе счисления: для записи числа в начале ставится 0, затем идут цифры от 0 до 7.

Специальные числа

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

Еще одним важным специальным значением является NaN (not a number). Типичным примером операции, которая возвращает NaN, является деле­ние на ноль. Для определения, является ли значение переменной NaN, используется функция isNaN(), которая возвращает true, если число является действи­тельным (включая бесконечность), и false, если значение переменной NaN.

К специальным числам относятся: Number.MAX_VALUE-максимальное значение числа, Number.MIN_VALUE-минимальное значение числа, Number.NaN - не число, Number.POSITIVE_INFINITY - положительная бесконечность, Number.NEGATIVE_INFINITY - отрицательная бесконечность

Строки

Строковый литерал – это последовательность символов ограниченная двойными или одинарными кавычками. Строка представляет собой объект, который имеет свойство length (длину строки) и большое количество методов, из которых приведем несколько часто употребляемых:

charAt(index : Number) : String – возвращает символ, находящийся на определенной позиции;

concat([string1 : String [, ... [, stringN : String]]]]) : String – соединяет строки (аналогично оператору «+»);

substr(start : Number [, length : Number]) : String – возвращает подстроку, которая начинается с определенной позиции и имеет определенную длину;

substring(start : Number, end : Number) : String – возвращает подстроку, которая начинается и заканчивается в позициях, определенных параметрами.

Строки в JavaScript являются неизменяемыми, метод charAt() есть , а метода SetcharAt() нет. Строки сравниваются по значению (s1==s2), а не по ссылке как объекты.

Одиночный символ фактически рассматривается как строка. В JavaScript используются специальные символы(управляющие последовательности): \n, \r, \t, \’, \\, \xcode.

Булев тип

Переменные булевого типа могут принимать одно из двух значения: true – истина; false – ложь. Переменные булевого типа часто используются в условном операторе if. Пример:

var d= true;

if (d) { alert(“Hello, World!”); }

Наши рекомендации