FAQ for JavaScript 2008 (1.0) by ENTERcode


Составитель FAQ - Matyushchenko A.
www.ENTERcode.narod.ru





                   # Содержание #

1. Правда ли, что языки JavaScript и Java - родственны?
2. Как правильно объявлять конструкцию скрипта и в чем различия?
3. Как через JavaScript реализовать вывод какой-либо информации на HTML-странице?
4. Почему при работе с функцией округления числа до целого (math.round(i)), скрипт неверно обрабатывается?
5. Как открыть новое окно используя JavaScript?
6. Массивы в JavaScript: теория и практика.
7. Как можно выделить какой-либо элемент на странице?
8. События в JavaScript: что это такое?
9. Как загружать различный HTML-код в зависимости от того включена или выключена подержка JavaScript?
10. Как можно при помощи JavaScript получить каккую-либо информацию о браузере пользователя?
11. Каким образом можно отследить закрытие страницы?

               # Приложения #
1. Операторы в JavaScript. Краткий обзор.
2. Список зарезервированных слов в JavaScript.
3. Исходники скриптов:
-->>3.1 Создание анимированного фона.
-->>3.2 Постепенное проявление изображения при получении фокуса.
-->>3.3 Создание движущегося фона страницы.
-->>3.4 Реализация фоновой музыки на странице.
-->>3.5 Добавление страницы в "Избранное".
-->>3.6 Скрипт реализации часов.
-->>3.7 Дрожание рисунка при получении фокуса мышью.
-->>3.8 Изменение цвета кнопки при получении фокуса мышью.



1. Правда ли, что языки JavaScript и Java - родственны?

Нисколько. Язык Java и JavaScript - совершенно разные вещи. Язык Java произошел от языка программирования Oak (а не от C++, как считают многие). Oak был приспособлен для работы в Интернете и затем переименован в Java. JavaScript разработан фирмой Netscape для создания интерактивных HTML-документов. JavaScript - объектно-ориентированный язык встраиваемых приложений, выполняющихся как на стороне клиента, так и на стороне сервера. Синтаксис языка JavaScript похож на синтаксис Java - только похож, и ничего более - из-за этого его часто называют Java-подобным языком. Но несмотря на все это, JavaScript и Java могут взаимодействовать и дополнять друг друга при выполнении различных задач в Сети. Немалую путаницу в этот вопрос вносит "похожесть" другого скриптового языка - VBScript на VisualBasic - которые так-же похожи только синтаксисом, но при этом VBScript, разработанный Microsoft как "наш ответ" Netscape, позиционировался как альтернативный язык JavaScript и его неоспоримым плюсом заявлялось "его похожесть" VisualBasic, что породило ложные слухи о родстве этих языков. Как мы видим, это родство выражается только в некотором сходстве, не более. Стоит отметить, что Microsoft, видя провал VBScript, сделала еще один ход - Microsoft разработала свой интерпретатор языка JavaScript, который был назван как JScript, что также порой путает новичков (да и знающих программистов) в обилии схожих названий.


2. Как правильно объявлять конструкцию скрипта и в чем различия?

Давайте сначала рассмотрим возможные примеры объявления конструкции скриптов в HTML-странице:

На первый взгляд это совершенно разные объявления конструкций скрипта. В превом примере мы оговариваем, что далее (до закрытия конструкции) мы будем работать с JavaScript и этим самым указываем интерпретатору браузера как ему следует обрабатывать код заключенный в тегах скрипта. (Если говорить более узко и определенно - какой язык скрипта ожидать и обрабатывать - JavaScript или VBScript). Если не указывается язык при объявлении конструкции, то браузеры как правило обрабатывают содержимое конструкции скрипта как JavaScript - т.е. по умолчанию обрабатывается JavaScript, а при работе с VBScript необходимо обязательно объявлять тип скрипта.
Таким образом в приведенных примерах первое и второе объявление кореектно для JavaScript, а третье - для VBScript. Но следует отметить, что современные браузеры в большинстве случаев вполне корректно обрабатывают второй случай даже при использовании в нем VBScript, но не следует забывать, что еще очень многие пользователи Сети используют старые машины и, как следствие, морально устаревшее ПО, поэтому не ленитесь и придерживайтесь хорошего стиля программирования - используйте только первый и третий типы объявлений в соответствуюших ситуациях.
К содержанию >>

3. Как через JavaScript реализовать вывод какой-либо информации на HTML-странице?

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

К содержанию >>

4. Почему при работе с функцией округления числа до целого (math.round(i)), скрипт неверно обрабатывается?

Ошибка кроется в том, что JavaScript требует строгого соблюдения правил написания ключевых слов; проще говоря большие и маленькие буквы для JavaScript - не одно и тоже! И в данном примере ошибка кроется как раз в этом - правильный синтаксис вызова функции округления аргумента до ближайшего целого не math.round(i), а Math.round(i), где i - видимо аргумент, который требуется округлить; round - метод объекта при работе с математическими опрециями - Math. Более подробно с примерами эта тема рассмотрена здесь
К содержанию >>

5. Как открыть новое окно используя JavaScript?

JavaScript не только позволяет открыть новое окно и загрузить в него некую страницу, но и позволяет довольно гибко настроить новое окно. Рассмотрим пример:
Далее в коде HTML странице нам стоит только произвести вызов необходимой функции. Например ниже мы создаем кнопочку и по её нажатии создается новое окно без панелей инструментов, но с полосами прокрутки, размером 800*600:
Метод Open, который создает новое окно имеет следующий синтаксис: имя_переменной_окна=window.open.([имя_страницы], [имя_ссылки_окна],[параметры]);
Где: имя_переменной_окна - имя для ссылки на новое окно в JavaScript;
[имя_страницы] - URL открываемой страницы;
[параметры] - задает параметры нового окна.
Что касается последней опции, то обратите внимание, что операторы в "Параметрах" задаются без пробелов через запятую!
К содержанию >>

6. Массивы в JavaScript: теория и практика.

JavaScript поддерживает массивы начиная с версии 1.1. Для чего нужны массивы? Главным образом массивы используются для быстрого хранения и быстрого доступа к информации. Как мы видим, на самом деле массивы просто необходимы любому программисту.
Массивы в JavaScript являются динамическими, это означает, что Вам незачем задавать размерность массива. Массив описывается оъектом Array. Рассмотрим пример описания и записи массива в JavaScript:
В данном примере объявляется массив MyMass строкой MyMass = new Array();, и затем распечатывается. Обращение к элементам объявленного массива осуществляется через его имя и порядковый номер элемента в квадратных скобках.
Также Вам не надо беспокоиться о совместимости типов: любому элементу массива могут соответствовать строковые и числовые типы одновременно.
К содержанию >>

7. Как можно выделить какой-либо элемент на странице?

JavaScript позволяет выделить какой-либо элемент на форме путем присвоения ему фокуса. Например, Вам необходимо, чтобы в поле ввода текста (document.start.text1) находился курсор сразу после загрузки страницы в браузер. Для этого нам необходимо создать соответствующую функцию и прописать её автозапуск страницы:

К содержанию >>

8. События в JavaScript: что это такое?

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

К содержанию >>

9. Как загружать различный HTML-код в зависимости от того включена или выключена подержка JavaScript?

Все довольно просто. Надо рассмотерть два кусочка HTML-кода изаписать его в следующий оператор:

К содержанию >>

10. Как можно при помощи JavaScript получить каккую-либо информацию о браузере пользователя?

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

К содержанию >>

11. Каким образом можно отследить закрытие страницы?

Это осуществляется путем отслеживания события OnUnload. Т.е. при наступлении события закрытия окна наступает OnUnload. В приведенном ниже примере при закрытии окна выводится сообщение.

К содержанию >>

Приложение -1-. Операторы в JavaScript. Краткий обзор.

break
comment
continue
for
for...in
function
if...else
return
var
while
with


В JavaScript широко применяются операторы. Всего операторов 11. Ниже мы дадим краткое описание и короткие примеры их применения. Но прежде отметим, что блоки операторов должны быть заключены в фигурные скобки (программистам программирующим на Delphi или VBasic следует привыкать к новой форме записи и концентрировать внимание при написании кода на запись) и последнее, опреаторы отделяются друг от друга точкой с запятой, пропуск точки с запятой приводит к непредсказуемому выполнения кода программы, следует проявлять внимание.
Перечислим операторы:
break
comment
continue
for
for...in
function
if...else
return
var
while
with


Оператор Break
Данный оператор прерывает текущий цикл for и while, передавая управление первому оператору после цикла.
В примере ниже функция добавляет элемент к форме в предположении,что все элементы содержат числовые значения. Если встречается нулевое значение, то цикл прекращается.


----------------------------------------------------

Оператор Comment
Этот оператор задаёт комментарии в программе. Комментарии нужны для удобного размещения дополнительной информации относящейся к коду программы, и при этом не являющийся кодом программы, т.е. комментарии просто игнорируются интерпритатором. В JavaScript существует два вида комметариев: однострочные и мноогострочные.


----------------------------------------------------

Оператор Continue
Передает управление оператору проверки истенности условия в цикле while и оператору обнавления значения счетчика в цикле for. Отличее от оператора Break заключается в том, что оператор Continue не прерывает цикл, а для каждого цикла совершает различные действия: -1- В цикле While, это переходит назад к условию; -2- В цикле For - переходит к модернизированному выражению:


----------------------------------------------------

Оператор For
Данный оператор задает цикл с тремя необязательными выражениями, заключенными в круглых скобках и разделенными точкой с запятой, сопровождаемыми блоками утверждений, выполненных внутри цикле:
Разберем, правила записи цикла:
>> Выражение Inicializacia используеться для инициализации переменной счетчика. Стоит отметить, что переменную можно создать прямо в цикле с помощью оператора var.
>> Выражение Yslovie, которое вычисляется на каждом проходе через цикл. Если это условие истинно, то выполняются условия внутри цикла, в противном случае оператор прекращает свою работу. Если выражение опущено, то условие всегда считается равным истинному, и тогда цикл продолжается до ошибки или до оператора Break.
>> Выражение Prirashenie, используется для изменения значения переменной счетчика. Если выражение не указано, томожно обновлять значение переменной счетчика внутри цикла.

Стоит отметить, что ни одно из выражений не является обязательным, но обратите внмание, что ставить разделяющую точку с запятой - обязательно!
Рассмотрим примеры:


----------------------------------------------------

Оператор For...in
Присваевает переменной поочередно все свойства объекта. Для каждого свойства цикл For...in выполняет операторы, содержащиеся в теле цикла:

В примере выведем на экран все свойства объекта одним циклом:


----------------------------------------------------

Оператор Function
Оператор Function объявляет функции языка JavaScript, требует указания имени NAME и списка параметров PARAM. Для возвращения значения функция должна иметь оператор Return. Одну функцию нельзя вложить в другую.

Приведенный ниже пример функции возвращает сумму переданных параметров:


----------------------------------------------------

Оператор If...else
Условный опереатор выполняющий первое условие, если YSLOVIE истинно. В противном случае выполняется необязательное(!) условие, следующие после оператора ELSE:

Остановимся на максимально простом для понимания примере: если A больше B, то C=A+B, иначе - C=A*B:


----------------------------------------------------

Оператор Return
Выше мы уже упоминали об этом операторе - он указывает значение которое будет возвращено функцией. Пример ниже возвращает квадрат числа:


----------------------------------------------------

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


----------------------------------------------------

Оператор While
While - циклический оператор и выполняется он до тех пор, пока выражение YSLOVIE -истинно.

В следующем примере как только N становится меньше 3 - цикл прекращается:


----------------------------------------------------

Оператор Width
Рассмотрим последний оператор. Width устанавливает объект по умолчанию для набора операторов.


-------------------->END<---------------------------


К содержанию >>

Приложение -2-. Список зарезервированных слов.

abstract
boolean
break
byte
case
catch
char
class
const
continue
default
do
double
else
extends
false
final
finally
float
for
function
goto
if
implements
import
in
instanceof
int
interface
long
native
new
null
package
private
protected
public
return
short
static
super
switch
synchronized
this
throw
throws
transient
true
try
var
void
while
with

К содержанию >>
-------------------->END<---------------------------

3.1. Создание анимированного фона

Для создания эффекта скрипт использует изменение степени прозрачности избражения с неким шагом, изменяя который можно добиться различной "скорости" показа и сбалансированности:

К содержанию >>


3.2 Постепенное проявление изображения при получении фокуса.

Мы рассмотрим пример на постепенном проявлении баннера при получении им фокуса (живую реализацию вы можете наблюдать на сайте www.ENTERcode.narod.ru). Данная реализация может быть полезна в случаях когда, например, на странице для предотвращения рассеивания внимания множеством баннеров их затемняют данным методом, но при наведении мышки - они чудесным образом просыпаются.

К содержанию >>


3.3 Создание движущегося фона страницы.

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

К содержанию >>





3.4 Реализация фоновой музыки на странице

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



3.4 Реализация фоновой музыки на странице

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

К содержанию >>


3.5 Добавление страницы в "Избранное".

Скрипт длинной в две строчки...




К содержанию >>


3.6 Скрипт реализации часов.

Данный скрипт реализован на главной странице www.ENTERcode.narod.ru
К содержанию >>


3.7 Дрожание рисунка при получении фокуса мышью.

Данный скрипт так же реализован на главной странице www.ENTERcode.narod.ru
К содержанию >>


3.8 Изменение цвета кнопки при получении фокуса мышью.

В данном примере реализована комбинация CSS-JavaScript - т.е. скрипт изменяет в зависимости от ситуации свойства кнопки.
К содержанию >>


Hosted by uCoz