WMLScript

JavaScript - фактически стандартный язык, который используется для осуществления динамического режима в документах HTML. JavaScript - одна из технологий,восходящих к ECMASCRIPT. Язык WMLSCRIPT - часть WAP прикладного уровня,и обычно используется, чтобы развить клиентскую процедурную логическую схему.Как и JavaScript,он основан на ECMASCRIPT [ECMA262], но в нем многое изменено,в целях улучшения работы с узкополосной связью. WMLSCRIPT может использоваться вместе с WML, для предоставления функций клиенту, но было разработано так, что может использоваться как автономный инструмент.

Одно из основных различий между ECMASCRIPT и WMLSCRIPT - то, что WMLSCRIPT имеет определенный байт-код и структуру ссылок интерпретатора. Этим путем сегодняшние узкополосные каналы связи могут оптимально использовать и требования минимальности ЗУ клиента.Многие из усовершенствованных особенностей языка ECMASCRIPT были урезаны, чтобы сделать язык меньшим, проще компилироватьв байт-код. Например, WMLSCRIPT - процедурный язык, и это укрепляет локально установленные стандартные библиотеки.WMLSCRIPT предназначен для общей возможности создания сценария в структуреWAP . Определенно, WMLSCRIPT может использоваться, как дополнение к WML. С поиощью WML информация может быть представлена с текстом, изображениями, списками выбора и т.д. Простая разметка может использоваться, чтобы сделать интерфейс пользователя более читаемым. Однако, вся эта информация статическая и не имеется никакого способа расширить язык без того, чтобы непосредственно модифицировать WML

.

Следующий список содержит некоторые возможности, которые не поддержаны WML:

WMLSCRIPT был разработан, чтобы преодолеть эти ограничения и снабдить программируемые функциональные возможности, которые могут использоваться по узкополосным каналам связи клиентами с ограниченными возможностями. Многие из услуг, которыми пользуються клиенты мобильного интернета, могут быть осуществлены в WML. Создание сценария расширяет набор стандартных средств отображения WML с динамическими возможностями. Они могут использоваться усовершенствованными функциями интерфейса пользователя, добавлять возможности клиенту, обеспечивать доступ к устройствам и периферийным функциональным возможностям и понижать ширину полосы, необходимую, чтобы переслать данные между сервером и клиентом.

Часть технических требованиях языка ECMASCRIPT , которые определяют основные типы, переменные, выражения и инструкции - основа почти может использоваться и для WMLSCRIPT .

WMLSCRIPT - учитывает регистр букв. Все ключевые слова языка, переменные и имена функции должны использовать определенный набор символов. WMLSCRIPT игнорирует пробелы, печатные контакты, newlines и т.д., которые появляются между лексемами в программах, кроме тех, которые являются частью строковых констант. Инструкции в WMLSCRIPT должны оканчиваться точкой с запятой. :Комментарии языка определяются двумя способами: однострочные комментарии (то есть, начинаются с // и от начала в конец строки) и блокируемые комментарии (то есть, состоящие из мультиплетных линий, начинающихся с /* и заканчивающий * /).

Примеры законных идентификаторов:

timeOfDay speed quality HOME_ADDRESS var0 _myName ____

Идентификаторы не могут содержать любые специальные знаки, кроме символа подчеркивания (_).В WMLSCRIPT ключевые и зарезервированные слова не могут использоваться как идентификаторы. WMLSCRIPT определяет набор зарезервированных слов, которые имеют специальное значение в программах, и они не могут использоваться как идентификаторы.

Примеры таких слов -

break continue false true while

WMLSCRIPT поддерживает пространство имен для идентификаторов, которые используются для различных целей. Следующие пространства имен поддержаны:

Таким образом, те же самые идентификаторы могут использоваться, чтобы определить имя функции, название переменной / параметра или название для псевдокомментария в пределах одного блока трансляции:

use url myTest "http://www.host.com/script";

function myTest(myTest) {

var value = myTest#myTest(myTest);

return value;

};

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

var x;

Все имена переменных в пределах функции должны быть уникальны. Переменные доступны только в пределах функции, в которой они были объявлены. Доступ к содержанию переменной выполняется через имя переменной: var myAge = 37;

WMLSCRIPT - язык c слабым контролем типов. Переменные не типизированы, но внутренне следующие основные типы данных поддерживаются: boolean, integer, floating-point и string. В дополнение к ним, определен пятый недействительный тип данных , чтобы использоваться в случаях, чтобы отделить переменную от других внутренних типов данных. Так как эти типы данных поддержаны только внутренне, программист не должен определять тип переменной, и любая переменная может содержать любой тип данных в любое время. WMLSCRIPT будет автоматически преобразовывать различные типы как необходимо.

WMLSCRIPT поддерживает операции на различных типах данных. Все операторы определяют принятые типы данных как операнды. Автоматические преобразования типа данных используются, чтобы конвертировать значения операнда.

Функции

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

Все функции имеют следующие характеристики:

Функции в WMLSCRIPT - не данные ,а синтаксическая консрукция языка.

Синтаксис:

FunctionDeclaration :

externopt function Identifier ( FormalParameterListopt ) Block ;

Пример:

function currencyConverter(currency, exchangeRate) {

return currency*exchangeRate;

};

extern function testIt() {

var UDS = 10;

var FIM = currencyConverter(USD, 5.3);

};

Способ вызова функции, зависит от того, откуда вызвана функция. Существует три варианта Local Script Functions,External Functions,Library Functions. Local Script Functions-функция,определенная внутри той же единицы трансляции может быть вызвана просто

Синтаксис:

LocalScriptFunctionCall :

FunctionName Arguments

FunctionName :

Identifier

Arguments :

( )

( ArgumentList )

ArgumentList :

AssignmentExpression

ArgumentList , AssignmentExpression

Функции внутри одной единицы трансляции могут быть вызваны прежде, чем функция объявлена; External Functions должны вызываться с использованием префикса ,указывающего номер единицы трансляции

Синтаксис:

ExternalScriptFunctionCall :

ExternalScriptName # FunctionName Arguments

ExternalScriptName :

Identifier

Library Functions( библиотечная функция [WMLSLIBS])

Синтаксис:

LibraryFunctionCall :

LibraryName . FunctionName Arguments

LibraryName :

Identifier;

WMLSCRIPT не поддерживает создание новых объектов с помощью объектно-ориентированного программирования,но снабжает шесть стандартных библиотек ,используемых при работе со многими общими задачми.

Эти библиотеки включают: