Массивы JavaScript. JavaScript Array. Функция-конструктор Array () JavaScript
Продолжаю рубрику Веб-программирование и ее раздел Уроки JavaScript для начинающих. Здравствуйте, уважаемые посетители моего скромного блога…
Здравствуйте, уважаемые посетители моего скромного блога для начинающих вебразработчиков и web мастеров ZametkiNaPolyah.ru. Продолжим сегодня рубрику заметки по JavaScript, в которой я уже успел рассмотреть способы изменения HTML документа при помощи JavaScript, то есть, какие средства есть у JavaScript для модификации HTML страниц. Сегодня я бы хотел поговорить о типах данных JavaScript и значениях JavaScript. Тема данной публикации – типы данных JavaScript.
Ни для кого не секрет, что у каждого языка есть различные типы данных и обрабатываются машиной они по-разному. У PHP имеются одни типы данных, а например, у СУБД MySQL другие типы данных.
Типы данных JavaScript условно можно разделить на две группы: простые данные и сложные данные. К простым данным можно отнести: числа, строки, логические значения, значение null, значения undefined. К сложным данным относятся: JavaScript функции, JavaScript объекты, JavaScript массивы, объекты Date JavaScript, регулярные выражения JavaScript, объекты Error JavaScript.
Содержание статьи:
Я думаю, ни для кого не секрет, что любая программа использует какие-либо значения, такие как числа (1, 1.1, -1, 3.14), строки (“a”, “Привет мир!” и т.д.) и другие типы данных. Значения, с которыми может работать и обрабатывать язык программирования называются типами данных языка, в нашем случае типы данных языка JavaScript. А поддерживаемый набор типов данных языка – это одна из самых важных его характеристик.
Если говорить более точно, то в JavaScript данные делятся на три типа. Первый тип данных JavaScript – элементарный тип данных, к нему относятся числа, строки и значения логической истинности (true и false).
Второй тип данных JavaScript – тривиальные типы данных, к тривиальным данным JavaScript относятся два значения null и undefined.
Третий тип данных JavaScript – составной тип данных JavaScript или иначе его называют объект JavaScript. Эти названия равносильны и вы их можете встретить в литературе или на сайтах посвященных языку JavaScript. Любой объект JavaScript представляет собой набор значений, значения могут быть различным и различно упорядоченными. Обычно в JavaScript набор таких значений называют коллекция JavaScript или коллекция значений JavaScript.
JavaScript коллекции могут состоять из простых значений, таких как строки или числа, а могут состоять и из составных значений, например, из других объектов. JavaScript объекты делятся на две большие группы – JavaScript массивы и JavaScript объекты.
Массивы JavaScript – представляются как упорядоченная коллекция значений, в которой все элементы коллекций пронумерованы. Хотя в языке JavaScript вы и не сможете создать двумерный массив (матрицу) напрямую, вы можете создать массив, в котором каждый элемент массива будет являться массивом.
Объекты JavaScript – это неупорядоченная JavaScript коллекция, в которой у каждого элемента есть имя или по-другому коллекция именованных значений. Объекты, как и массивы, могут состоят из других объектов или других массивов.
Объекты и массивы – это по сути один и тот же тип данных, но ведут он себя различным образом, поэтому-то их и следует разделять.
В JavaScript имеется специальный тип объектов, его называют функция, да, функция в JavaScript является объектом!
JavaScript функция – это объект, объект в котором находится определенный код, выполняющий то или иное действия, не хотел использовать слово «функцию». Хоть функция и является JavaScript объектом, но синтаксис у нее особенный, а назначение не схоже с массивами и объектами. Функция, грубо говоря, это программа внутри программы, ее предназначение – уменьшить объем кода, так как функцию можно написать один раз, а затем использовать ее несколько раз.
Использование функции называется вызовом. Вызывать функцию можно сколько угодно раз и где угодно. В языке JavaScript имеется несколько специальных видов объектов. Их называют классами объектов.
Класс объекта Date JavaScript – представляет собой объект, в котором хранится даты и способ отображения даты.
Класс объекта RegExp JavaScript – является объектом, в котором хранятся регулярные выражения JavaScript. Регулярные выражения – это очень мощное средство для поиска по шаблону и реализуют операции поиска и замены.
Класс объекта Error JavaScript – это объект, в котором хранятся JavaScript ошибки. Ошибки JavaScript бывают двух видов: синтаксические ошибки и ошибки времени выполнения, все эти ошибки могут возникать во время исполнения JavaScript программ.
Далее мы вкратце поговорим о каждом типе данных JavaScript.
Что такое число, нам всем объясняли на уроках математике в начальной школе. Для нас важно, что число – это основной тип данных в языке JavaScript. Еще для нас важно то, что JavaScript без разницы целое это число или это вещественное значение.
Поэтому я не буду пояснять, какие числа называют целыми, а какие числа называют вещественными. Число, которое находится в коде программы JavaScript – числовой литерал. В JavaScript числа могут быть представлены, как в десятичной системе счисления, так и в шестнадцатеричной, некоторые реализации языка JavaScript позволяют представлять числа в восьмеричной системе счисления.
Работать с числами в JavaScript можно по разному, можно выполнять простые арифметические действия (сложение, вычитание, деление и умножение). В языке JavaScript имеется большое количество математических функций, которые позволяют выполнять с числами более сложные операции.
Также числа можно преобразовывать в любой другой тип данных JavaScript от того какое число преобразуется зависит результат операции преобразования.
В JavaScript имеются специальные числовые значения, которые предназначены для специальных ситуаций, например, деление на ноль или ситуация, в которой вещественное число превышает самое большое значение числа, которое можно представить в JavaScript.
Строка JavaScript – это последовательность Unicode-символов(буквы, числа, знаки препинания и др.), которая заключается в кавычки (одинарные или двойные зависит от разработчика). Строка JavaScript – это тип данных, который служит для представления текста. Но, в JavaScript нет символьного типа данных, как в C или Java, для записи одиночного символа используется строка единичной длины. Обратите внимание, в версиях JavaScript, которые старее версии 1.3 были доступны символы кодировки ASCII и Latin-1, а в JavaScript 1.3 доступны все Unicode символы, для обратной совместимости используются управляющие последовательности JavaScript.
Управляющая последовательность JavaScript – это символ обратного слэша(\) написанный вместе с каким-либо другим символом, когда интерпретатор JavaScript встречает управляющую последовательность он формирует какой-то закодированный символ, например, последовательность \n – это перенос строки.
В JavaScript можно работать со строками различным образом. Первое что можно делать со строками – это складывать их, такая операция называется конкатенация строк.
В JavaScript можно определить длину строки. Средствами JavaScript можно узнать последний символ строки. Из строки можно извлечь первый символ или любой другой символ строки. Строки можно преобразовывать в любые другие типы данных, результат преобразования будет зависеть от того пустая строка преобразуется или не пустая.
Логический тип данных в JavaScript, как и в других языках программирования имеет только два значения true и false. Логический тип данных позволяет проверить истинность утверждения истинно оно или ложно.
Обычно применяется при сравнении вместе с оператором условия или при создание циклов JavaScript.
Логические значения могут быть преобразованы в любой другой тип данных JavaScript, результат преобразования зависит от того, какое значение будет преобразовываться.
Да, функции в JavaScript являются типом данных. Функция – это небольшой фрагмент кода, который написан в программе, либо предопределен в языке программирования, код функции еще иногда называют телом функции. Функции служат для уменьшения кода программы. Код функции пишется один раз, а затем эта функция может вызываться много раз на всем в любом месте программы.
JavaScript функции могут передаваться параметры или как их еще называют аргументы, в качестве аргумента в JavaScript могут выступать как переменные, так и массивы, объекты и другие функции.
JavaScript функции могут возвращать значения, которые они вычислили. В JavaScript много предопределенных функций, и перечислять их всех очень нудное и долгое занятие, но о самых часто употребляемых функция я поговорю в дальнейшем.
Функция может являться свойством объекта, в этом случае функцию называют методом объекта. Методы, классы и объекты – делают язык JavaScript объектно-ориентированным.
Объекты JavaScript – это коллекции значений, у каждого значения из коллекции есть имя, каждое значение коллекции называют свойством JavaScript объекта. Чтобы обратиться к свойству объекта: нужно указать имя объекта, затем оператор точка, а затем уже имя свойство.
Например, у нас есть объект point, у которого есть координаты x и y, координаты точки являются ее свойствами, к координатам надо как-то обращаться.
[php]
point.x;
point.y;
[/php]
Свойства JavaScript объектов могут быть представлены любым типом данных: объекты, числа, строки функции и т.д.
Если функция JavaScript выступает как свойство объекта, то ее называют методом объекта. Например, document.write (), document – это JavaScript объект, а write () – это метод объекта document. Обратите внимания: имя метода совпадает с именем свойства JavaScript объекта.
Ассоциативные массивы JavaScript – это JavaScript объекты, у которых произвольные значения ассоциируются с произвольными строками, естественно, что все ассоциации проводит человек. Синтаксис ассоциативных массивов отличается от синтаксиса объектов. Имя свойства ассоциативного массива заключается в квадратные скобки и в кавычки. Предыдущий пример будет выглядеть так:
[php]
point[“x”];
point[“y”];
[/php]
Таким образом, можно получить доступ к элементам ассоциативного массива.
JavaScript объекты можно создать при помощи специальных функций-конструкторов, например функция new Object:
[php]
var point = new Object ();
point.x=1;
point.y=2;
[/php]
Объекты JavaScript можно преобразовывать в любые другие типы данных, но преобразования объектов – это отдельная тема. Объектные литералы JavaScript имеют особый синтаксис, и в одной из следующих публикаций я затрону эту тему.
Массивы JavaScript – это объекты, представляют собой коллекцию значений, различного типа данных, массивы отличаются от объектов тем, что в массиве каждое значение пронумеровано, а в объекте каждое значение имеет имя. Обращаться к значениям массива можно указывая в квадратных скобках его порядковый номер, индексы массивов начинаются с нуля.
[php]
mas[i];
[/php]
Таким образом, мы можем обратиться к i-ому элементу массива mas. Каждый отдельный элемент массива может содержать любой тип данных, в том числе массивы и объекты. За счет этого факта можно создать массив массивов и создавать двумерные массивы или числовые матрицы. Поскольку JavaScript слаботипизированный язык программирования, то каждый элемент массива может содержать отличные от других элементов тип данных.
Массивы, как и объекты можно создавать, при этом размер JavaScript массива(количество элементов в массиве) при его создание указывать не надо, за счет этого свойства можно всегда добавить или удалить элементы JavaScript массива.
Значение null в JavaScript – это специальное значение, оно отличается от значение null в других языках программирования. Null в языках C, Java и пр. равно 0, в то время, как в языке JavaScript значение null может быть преобразовано в 0. Если JavaScript переменная имеет значение null, то это означает, что в переменной ничего не хранится.
Если преобразовать null в логический тип данных, то оно примет значение false. Если значение null преобразовать в числовой тип данных, то оно примет значение 0.
Значение undefined в JavaScript – это специальное значение, undefined, это не то же самое, что и null. Значение undefined имеют объявленные переменные, которым еще не присвоено значение или свойства объекта, которые еще не существуют.
Объекты Date в JavaScript – это класс объектов JavaScript, который предназначен для хранения и отображения даты и времени. Объект Date в JavaScript – это отдельный тип данных. Объект Date создается с помощью оператора new и конструктора Date ().
[php]
var time = new Date ();
[/php]
У объекта Date, как и у любого JavaScript объекта есть методы, с помощь которых можно устанавливать и отображать различные значения даты и времени. Дату и время в JavaScript можно преобразовывать в строку.
Объекты Error в JavaScript – это класс объектов JavaScript. Классы Error служат для представления ошибок (синтаксические ошибки, ошибки времени исполнения), обратите внимания: сюда не входят логические ошибки.
При возникновение ошибки в коде JavaScript программы интерпретатор обратится к одному из классов Error для оповещения пользователя об ошибке. У любого объекта Error есть свойство message, в котором хранится код ошибки и сообщение о ошибке(сообщение зависит от реализации языка JavaScript).
Типы объектов ошибок в JavaScript: Error, EvalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError.
Регулярные выражения в JavaScript — это способ описания текстовых шаблонов. Регулярные выражения в JavaScript — служат для поиска и замены текстовых соответствий. Если вы захотите узнать более подробно о синтаксисе регулярных выражений JavaScript, то можете почитать документацию языка Perl.
Регулярные выражения в JavaScript представлены объектом RegExp, который создается конструктором RegExp ().
Объекты RegExp в JavaScript имеют синтаксис литералов JavaScript и поэтому они могут создаваться непосредственно в коде JavaScript программы, в отличие от объекта Date. Более подробно о регулярных выражениях в JavaScript я постараюсь рассказать в одной из следующих публикаций.
На этом всё, спасибо за внимание, надеюсь, что был хоть чем-то полезен и до скорых встреч на страницах блога для начинающих вебразработчиков и вебмастеров ZametkiNaPolyah.ru
Искал JavaScript массивы и что-нибудь про них, но наткнулся на вашу статью, а по подробней нету ничего?!
Не сразу, но точно появится публикация JavaScript массивы, в которой я постараюсь описать сами массивы и работу с JavaScript массивами, пока к сожалению такой публикации нет.
Зачем столько текста и времени уделять типам данных в JavaScript? Не лучше ли сразу показывать какие-нибудь примеры связанные с web? И не мусолить про базовый JavaScript и все эти типы данных, оперторы, языковые конструкции, столько времени зря тратить! Нигде не могу найти то, что мне нужно все пишут, но ничего нет!!!
Марат, а зачем вы потратили столько времени на написание данного комментария, вы бы могли продолжить серфить и найти полезную для себя информацию, а вы так не экономно расходуете время (целых 5 минут на комментарий). Если бы вы хотя бы прочитали публикацию, хотя бы по диагонали, то нашли бы информацию о том, что поддерживаемый тип данных того или иного языка — это основа языка, которую знать необходимо, нет данных — нет языка программирования, пусть и такого высокоуровневого языка, как JavaScript, поэтому типы данных нужно знать и нужно знать, как эти типы данные преобразуются и обрабатываются, наверное, логично то, что в рубрике про JavaScript (язык программирования), я написал про типы данных данных JavaScript.
У Вас в тексте ошибка. Вы перепутали тривиальные и элементарные типы. «Если говорить более точно, то в JavaScript данные делятся на три типа. Первый тип данных JavaScript – элементарный тип данных, к нему относятся числа, строки и значения логической истинности (true и false).
Второй тип данных JavaScript – тривиальные типы данных, к тривиальным данным JavaScript относятся два значения null и undefined.»
Надо так:
Если говорить более точно, то в JavaScript данные делятся на три типа. Первый тип данных JavaScript – тривиальный тип данных, к нему относятся числа, строки и значения логической истинности (true и false).
Второй тип данных JavaScript – элементарные типы данных, к элементарным данным JavaScript относятся два значения null и undefined.
Слово элементарные само за себя говорит.