Ява Золотая: история с географией
Radagast Kary
Спецвыпуск хакер, номер #002, стр. 002-056-5
и вызываться она будет как
var g=4;
myvoolvar(g);
Класс, а? На первый взгляд немного дико, но архиудобно для работы с динамически создаваемыми функциями.
Number - используется в основном для преобразований. Ну кто в здравом уме будет писать var g=new Number(3); если можно довольствоваться var g=3;? Но при этом очень удобно использовать это для приведения к другому типу, например, так:
var g="3";
var h=Number(g);
var j=g+h;
var l=h+g;
Думаете, после выполнения этого всего j будет равно l? А вот и фиг. В j будет лежать "33", тогда как в l - 6. Вот такие вот пирожки. С котятами.
String - строчка. Записывается в одинарных или двойных кавычках, но не сразу. Например, тебе кровь из носу надо, чтобы строковая переменная содержала такую строчку: '*"&'%"#. Думаешь, это невозможно? Как бы не так! На JavaScript возможно все...
var mycoolstring="'"+'*"&'+"'%"+'"#';
Все ясно? Можешь отхлебнуть еще пивка и читай дальше...
В общем, String - класс с абсолютно аналогичным Number и полностью идентичным использованием. Только вот работает он совсем в другую сторону. Но - работает. За что ему и спасибо.
Маленькие объекты - большие достоинства
Кроме девяти вышеперечисленных классов, в JavaScript есть еще несколько маленьких, но чрезвычайно важных, полезных и интересных объектов, которые невозможно причислить ни к одному из уже известных тебе классов. Понимание этого дела сильно осложняется еще тем фактом, что во многих умных книжках классы называются объектами (собственно, как и сами объекты.) Это вносит путаницу в и без того странный и пугающий для новичка мир объектно-ориентированного программирования. Я рассмотрю только несколько из них, так как почти все в браузерах представляется с помощью них.
document. Именно так, с маленькой буквы. Привыкай, в JavaScript все имена, кроме Самых Главных Объектов, традиционно пишутся с маленькой буквы. Причем, интересный момент: если название состоит из нескольких слов, то второе слово и дальше пишутся с большой, то есть var book, author; но var myCoolBook, authorOfThisVeryGoodDocument;
Этот объект - самый толстый из всех, он содержит во-первых, массив all, в котором, как ты уже, наверное, догадался, лежит все, что есть в документе, и во-вторых, то же самое, но отсортированное по разным критериям. К таким массивам относятся anchors, applets, embeds, filters, images, links, plugins, scripts, selection, styleSheets. Подробную инфу по ним можно найти в умных книжках или доках. Тут уж, как говорится, 'читайте доки - они рулез'. Или, как говорит один мой хороший знакомый, 'век живи, век RTFM, все равно LMD'. Не обращай внимания, это я так смешно шучу. Гы-гы-гы.
Там же можно при желании найти свойства activeElement, readyState, referrer и методы open, write, writeln, close, clear, createElement, elementFromPoint, execCommand, queryCommandEnabled, queryCommandIndeterm, queryCommandState, queryCommandSupported и queryCommandText. Имена у всех методов и свойств говорящие, так что должно быть все понятно. Я сказал должно! Позволю себе только отметить, что document.referrer содержит адрес документа, с которого был совершен переход на текущую страничку. Сечешь, хакер?