ЖУРНАЛ ХАКЕР

Ява Золотая: история с географией

Radagast Kary

Спецвыпуск хакер, номер #002, стр. 002-056-3


Несмотря на отсутствие прямой связи с Явными фенечками, ЯваСкрипт вполне может обращаться к внешним свойствам и методам Ява-апплетов, встроенных в страницу HTML. Итого, разница сводится, на первый взгляд, только к тому, что Java-скрипты лежат внутри использующего их файла HTML, тогда как Java-программы существуют вовне. Теперь же рассмотрим более детально особенности JavaScript'а.

Понятие бестиповости

JavaScript является исконно бестиповым языком программирования. Эта заумная фраза означает, что пользователю (точнее, программисту - разработчику программного обеспечения на этом языке) все равно, данные какого типа лежат в каждой конкретной переменной: строки, восьмимерные массивы, объекты, числа вещественные или целочисленные и так далее до исчерпания фантазии программера. Именно поэтому в сях переменную объявляют так:

char f='f';

int b=0xB;

unsigned long double pee=3.14;

а в Яваскрипте - так:

var f='f';

var b=134341;

var pee=3.14;

Усек? И при этом тебе теоретически должно быть ярко фиолетово, как именно пишутся твои числа - в кавычечках или без оных. Но это ведь только теория... Постарайся сконцентрировать свою силу воли до такой безумной степени, которая позволит тебе не заснуть окончательно до конца страницы, и тогда бескрайнее море информации обогатит твою бессмертную душу неувядающей мудростью и осознанием этой разницы. Учись, пока я жив.

Объекты и их иерархия

Основное понятие JavaScript - объект, но понимается это не так, как в Яве. Вообще, что такое 'Объект', знаешь? Это что-то типа сумки, в которую можно сложить сразу и дискету, и книжку, и даже собственную ногу (но только одну!) :) И при этом помнить, что в сумке есть все необходимые инструменты для вынимания/вкладывания вещей и для реализации некоторых других простейших действий с ними. В языке JavaScript существуют три праобъекта, от которых происходят все остальные.

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

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

Эти два класса объединяет одно: объект (экземпляр класса) может быть только один на всех. Почему - я думаю ясно. Не может же быть несколько разных синусов? Синус - он и в Африке синус...

Object - это уже предок основного количества встроенных классов (точнее, всех, кроме вышеперечисленных). Ничего в себе нового не содержит, но хранится как почетный отец-основатель.

Назад на стр. 002-056-2  Содержание  Вперед на стр. 002-056-4