Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab-js_new.doc
Скачиваний:
4
Добавлен:
13.11.2019
Размер:
92.16 Кб
Скачать

3. Типы данных.

В JavaScript используется небольшой набор примитивных типов величин:

  • Числа (42 или 3.14159). С точки зрения определения между целыми и числами с точкой явных различий не делается. Можно использовать научную нотацию. Различия между целыми и числами с точкой возникают в основном только при вызове функций преобразования типов (parseInt, parseFloat).

  • Логические (булевы) значения true и false;

  • Символьные строки "Привет!".

В языке определяется также набор предопределенных объектных типов (Array, Date, Math и т.п.).

4. Операторы и выражения.

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

JavaScript не только поддерживает набор операторов (символов операций), который используется в Си/С++, но даже расширяет его.

Например, имеется оператор побитового сдвига вправо >>>. Он отличается от >> тем, что освобождающиеся при сдвиге разряды заполняются нулями, в то время как при сдвиге с помощью >>> эти разряды заполняются знаковым разрядом числа (т.е. выполняет "размножение единицы" для отрицательных чисел). Соответственно, имеется комбинированная операция присваивания >>>=.

По сравнению с Си новым также является то, что оператор + применяется для конкатенации символьных строк.

5. Преобразования типов в смешанных строково-числовых выражениях.

В выражениях с оператором +, где смешаны одновременно числовые и строковые значения, JavaScript автоматически преобразует числовое значение к строковому. Например,

x = "Число: " + 15 // x="Число: 15"

y = 15 + " – число" // x="15 – число"

x = "12"+ 3 // x="123 "

С другой стороны, если в выражении смешаны числовые и строковые значения, а операнды связаны оператором, отличным от +, JavaScript пытается преобразовать строку в число

x = "12" - 3 // x=9

x = 3 * "12.6" // x=37.8

6. Управляющие конструкции языка.

В скриптах JavaScript для организации кода используются типовые управляющие конструкции.

Условный оператор имеет обычную структуру:

If(условие) { инструкции1 [ } else { инструкции2 ] }

Имеется переключатель switch, причем для выделения case могут использоваться не только числа, но и строки.

Поддерживается набор различных операторов цикла for, while, do…while, а также вспомогательные операторы continue и break, смысл которых тот же, что и в Си.

7. Определения и вызовы функций

Определение любой функции состоит из заголовка и тела функции.

Заголовок формируется из:

а) ключевого слова function,

б) имени функции (идентификатор),

в) списка аргументов функции (формальных параметров), заключенного в круглые скобки. Друг от друга аргументы отделяются запятыми. Список может быть пустым.

Тело функции заключается в фигурные скобки.

Пример.

function square(number) {

   return number * number;

}

Функция может возвращать значение (с помощью оператора return с заданным выражением) или не возвращать ничего (с оператором return без выражения или обходиться вообще без него).

Так как функция может содержать несколько операторов возврата, в разных ситуациях одна и та же функция может возвращать значения разных типов.

Вызовы функций программируются по обычным правилам.

Пример.

Для вывода текста во всплывающее окно предупреждений вызывается встроенная функция alert с одним аргументом (который может быть строкой, числом или массивом):

alert("Hello, world!")

Все параметры простых типов передаются в функции по значению, т.е. функция работает с копиями этих параметров.

Пример.

function change(z){

z++

}

var x=1

change(x)

alert(x) //1

Однако, если фактическим параметром в вызове функции будет объект, то он будет передан по ссылке (т.е. сам объект). Поэтому изменения свойств объектов внутри функции будут "видны" и вне функции. Это относится, в том числе, и к массивам.

Пример.

function change(z){

z[0]+=1;

z[1]+=3;}

var x=new Array(1,2,3); // Создаем объект-массив с тремя значениями 1,2,3

change(x);

alert(x); //2,5,3 // Два элемента массива изменили значения

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