Объекты JavaScript. Понятие объекта. Виды объектов — КиберПедия 

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Объекты JavaScript. Понятие объекта. Виды объектов

2017-12-12 213
Объекты JavaScript. Понятие объекта. Виды объектов 0.00 из 5.00 0 оценок
Заказать работу

Объект в JScript — это коллекция свойств (иначе: ассоциативный массив, список), состоящая из пар ключ(имя)-значение. Позволяет сохранять и извлекать значения по их именам.

!!!ВJavaScript есть 6 базовых типов данных — это Undefined (обозначающий отсутствие значения), Null, Boolean (булев тип), String (строка), Number (число) и Object (объект).При этом первые 5 являются примитивными типами данных, а Object — нет. Следует различать примитивные типы String, Number и Boolean и не-примитивные «подтипы» Object: String, Number и Boolean соответственно.
Это означает, что строку 'Hello, world', например, можно создать и как примитивное значение, и как объект типа String. СРАВНИТЕ:

obj=new String('hello'); //Создаем строку как объект
simple='hello'; //Создаем примитивное значение

obj.prop='text';
simple.prop='text';

alert(obj.prop); //text - раз obj обычный объект, то мы можем запросто придать ему еще одно свойство
alert(simple.prop); //undefined - а вот simple не объект, и этот номер у нас не пройдет

Фундаментальным отличием объектов от примитивов, является их хранение и копирование «по ссылке». Ссылка — это средство доступа к объекту под различными именами.

test={prop: 'sometext'}; //Создаем объект со свойством prop
test_link=test; //Создаем еще одну ссылку на этот объект
alert(test.prop); //sometext
alert(test_link.prop); //sometext

//Изменяем свойство объекта
test_link.prop='newtext';

alert(test.prop); //newtext
alert(test_link.prop); //newtext
/*Можно было бы сказать, что свойство изменилось и там и тут - но это не так.
Объект-то один. Так что свойство изменилось в нем один раз, а ссылки просто продолжают указывать туда, куда и указывают. */

Создание объектов. Пустой объект («пустой шкаф») может быть создан одним из двух синтаксисов:

1. o = newObject();

2. o = {}; // пустые фигурные скобки

Обычно все пользуются синтаксисом (2), т.к. он короче.

Например, вот как выглядит создание объекта с тремя свойствами:

varuser = {

name: "Homer",

"age": 45,

1: true //Числовые имена свойств автоматически преобразуются в строки.

};

В javaScript существует несколько видов объектов:

· встроенные;

· клиентские (объекты браузера, в частностиобъекты HTML-документа);

· объекты, которые программист создает самостоятельно (пользовательские).

Встроенные объекты — это предопределенные объекты Number, String, Array, Date, Math, Function, Booleanи др.

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

  • window - внутри этого объекта создаются остальные объекты браузера;
  • window.document - содержит элементы, определяемые на самой странице;
  • window.document. имя_формы - форма на странице;
  • window.document. имя_формы. имя_элемента - содержит элементы формы.

Объект windowнаходится в корне иерархии. Когда в окно браузера загружается документ HTML, внутри этого объекта создаются другие объекты -document, parent, frame, location и top.

Объект document содержит в себе другие объекты, состав которых полностью определяется документом HTML, загруженным в окно браузера. Это могут быть формы, ссылки на другие документы HTML или локальные ссылки внутри одного документа, объекты, определяющие адрес URL документа и так далее.

Пользовательские - создаваемые с помощью литерала объекта или оператора new с конструктором.(см. подробнее вопрос 17).

15. Объект String(строка), его свойства и методы

Создание

a = 'mystring'

b = new String(object) // синтаксис устарел и не используется

c = String(object

Обычно объекты Stringсоздаются неявно с помощью строковых литералов.

var str = "stringliteral" // кавычки любые - без разницы

 

Строки могут содержать специальные символы. Самый часто используемый–«перевод строки».Он обозначается как \n, например:

alert('Привет \n Мир'); // выведет "Мир" на новой строке

Если строка в одинарных кавычках, то внутренние одинарные кавычки внутри должны быть экранированы, то есть снабжены обратным слешем \', вот так:

varstr = 'I \' m a JavaScriptprogrammer';

 

Свойства и методы

Длина строки (length) – свойство

varstr="My\n"; // имеем 3 символа. Третий - перевод строки(\n) alert(str.length); // 3

Получение символа:

1. charAt( позиция ) – метод:varstr="jQuery";alert(str .charAt(0)); // "j"

 

2. квадратные скобки:

varstr="Я - современный браузер!";alert(str[0]); // "Я"

Разница между этим способом и charAt заключается в том, что если символа нет – charAtвыдает пустую строку, а скобки – undefined.

Изменение

Содержимое строки в JavaScript нельзя изменять. Нельзя взять символ посередине и заменить его. Как только строка создана – она такая навсегда.

Только если так:varstr="строка";str=str[3]+str[4]+str[5];alert(str);// ока

 

Смена регистра

toUpperCase() и toUpperCase() – методы

alert("Интерфейс ".toUpperCase());// ИНТЕРФЕЙСalert("Интерфейс"[0 ].".toUpperCase());// 'и'

 

Поиск подстроки

indexOf( подстрока[, начальная_позиция] ). Метод возвращает позицию, на которой находится подстрока или -1, если ничего не найдено.

varstr="Widgetwithid"; alert(str. indexOf("Widget"));// 0, т.к. "Widget" найден прямо в начале stralert(str. indexOf("id"));// 1, т.к. "id" найден, начиная с позиции 1alert(str. indexOf("widget"));// -1, не найдено, так как поиск учитывает регистр

Необязательный второй аргумент позволяет искать, начиная с указанной позиции.

Преобразование в массив

split(s, arg) позволяет превратить строку в массив, разбив ее по разделителю s. В примере ниже таким разделителем является строка из запятой и пробела.

varnames = 'Маша, Петя, Марина, Василий';

 

vararr = names.split(', ');

 

for (var i = 0; i <arr.length; i++) {

alert('Вам сообщение ' + arr[i]);

}

Второй аргумент split

У метода split есть необязательный второй аргумент (arg) – ограничение на количество элементов в массиве. Если их больше, чем указано – остаток массива будет отброшен:

alert("a,b,c,d".split(',',2));// a,b

Разбивка по буквам

Вызов split с пустой строкой разобьёт по буквам:

varstr="тест";

 

alert(str.split(''));// т,е,с,т

 

Объединение

concat(string2, string3[,..., stringN])

string2...stringN строки, которые будут прибавлены к string1

a = "строка"

b = " очень"

с = " длинная"

alert(a. concat(b,c)) // строка очень длинная

 

 


Поделиться с друзьями:

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

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

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.017 с.