Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Объекты





Любое значение в языке JavaScript, не являющееся числом, строкой, логическим значением или специальным значением null или undefined, является объектом. Объект (т.е. член объектного типа данных) представляет собой коллекцию свойств, каждое из которых имеет имя и значение (либо простого типа, такое как число или строка, либо объектного).

 

Обычный объект JavaScript представляет собой неупорядоченную коллекцию именованных значений. Кроме того, в JavaScript имеется объект специального типа, известный как массив, представляющий упорядоченную коллекцию пронумерованных значений. Для работы с массивами в языке JavaScript имеются специальные синтаксические конструкции.

 

/* обычный синтаксис */

var array = [ elem0, elem1, elem2,... ]

var empty = []


/* Синтаксис с new Array() */

var array = new Array(elem0, elem1, elem2,...)

var empty = new Array()


/* Редкий синтаксис: аргумент new Array - одно число.

При этом создается массив заданной длины,

все значения в котором undefined */

var array = new Array(10)

В JavaScript определен еще один специальный тип объекта, известный как функция. Функция - это объект, с которым связан выполняемый код. Функция может вызываться для выполнения определенной операции и возвращать вычисленное значение.

 

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

Именованные (FunctionDeclaration) Анонимные (FunctionExpression)
function имя(параметры) { ... } Именованные функции доступны везде в области видимости var имя = function(параметры) { … } var имя = new Function(параметры, '...') Анонимные - доступны только с момента объявления. Синтаксис new Function используется редко, в основном для получения функции из текста, например, динамически загруженного с сервера в процессе выполнения скриптов.

 

/* функция sum определена ниже */

var a = sum(2,2)

function sum(x,y) {

return x+y

}

/* будет ошибка, т.к sum еще не существует */

var a = sum(2,2)

var sum = function(x,y) {

return x+y

}

 

 

Функции можно запускать с любым числом параметров.

Если функции передано меньше параметров, чем есть в определении, то отсутствующие считаются undefined.

Функции, которые пишутся для инициализации вновь создаваемых объектов (с оператором new), называются конструкторами. Каждый конструктор определяет класс объектов - множество объектов, инициализируемых этим конструктором. Классы можно представлять как подтипы объектного типа.

 

В дополнение к классам Array и Function в базовом языке JavaScript определены еще три полезных класса.

Класс Date определяет объекты, представляющие даты.

 

Класс RegExp определяет объекты, представляющие регулярные выражения (мощный инструмент сопоставления с шаблоном).

 

А класс Error определяет объекты, представляющие синтаксические ошибки и ошибки времени выполнения, которые могут возникать в программах на языке JavaScript. Имеется возможность определять собственные классы объектов, объявляя соответствующие функции-конструкторы.

 

// эквивалентные записи

var o = new Object();

var o = {};

 

 

Есть два синтаксиса добавления свойств в объект. Первый - точка, второй - квадратные скобки:

o.test = 5;

o["test"] = 5

 

Квадратные скобки используются в основном, когда название свойства находится в переменной

Доступ к свойству осуществляется точно так же:

console.log(o.test)

console.log(o['test'])

Если у объекта нет такого свойства, то результат будет 'undefined'

 

Свойства можно указывать непосредственно при создании объекта, через список в фигурных скобках вида {..., ключ: значение,...}:

 

var o = {

test: 5,

bla: true

}

 

Методы объектов

Как и в других языках, у объектов javascript есть методы.

Например, создадим объект rabbit с методом run

 

var rabbit = {}

rabbit.run = function(n) {

alert("Пробежал "+n+" метров!")

}

 

var rabbit = {}

rabbit.run = function(n) {

alert("Пробежал "+n+" метров!")

}

rabbit.run(5) // Пробежал 5 метров

rabbit.run(7) // Пробежал 7 метров

var man = {

eye:’blue’,

height:180,

go: function(position){

console.log(position);

return position;

}

}

Оператор if/else

Оператор if - это базовый управляющий оператор, позволяющий интерпретатору JavaScript принимать решения или, точнее, выполнять операторы в зависимости от условий. Оператор if имеет две формы. Первая:

if (выражение)

оператор

 

В этой форме сначала вычисляется выражение. Если полученный результат является истинным, то оператор выполняется. Если выражение возвращает ложное значение, то оператор не выполняется. Например:

if (username == null) // Если переменная username равна null

username = "Alex"; // определить ее

Вторая форма оператора if вводит конструкцию else, выполняемую в тех случаях, когда выражение возвращает ложное значение.

if (выражение) оператор1

else оператор2

 

Эта форма выполняет оператор1, если выражение возвращает истинное значение, и оператор2, если выражение возвращает ложное значение.

Например:

if (n == 1)

console.log("Получено одно новое сообщение.");

else

console.log("Получено " + n + " новых сообщений.");

В этом фрагменте нет ничего особенного. Это просто последовательность операторов if, где каждый оператор if является частью конструкции else предыдущего оператора.

if (n == 1) {

// Выполнить блок 1

}

else if (n == 2) {

// Выполнить блок 2

}

else {

// Если ни один из предыдущих операторов else не был выполнен, выполнить блок 3

}

Date: 2016-02-19; view: 356; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию