Клиентский JavaScript 1.3

         

Функции импорта и экспорта


Вам могут понадобиться интерфейсы для вызова в засекреченных контейнерах (окнах и слоях). Для этого используйте операторы import и export. Экспортирование имени функции делает её доступной для импорта скриптами, находящимися за пределами контейнера, без проверки контейнера.

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

Импортирование функции в Вашу область видимости создаёт новую функцию с тем же именем, что и у импортируемой функции. Вызов такой функции вызывает соответствующую функцию из засекреченного контейнера.

Для использования import и export Вы обязаны явно установить атрибут LANGUAGE тэга SCRIPT в "JavaScript1.2":

<SCRIPT LANGUAGE="JavaScript1.2">

В маркированном скрипте, который определяет функцию, доступ к которой Вы хотите дать другим скриптам, используйте оператор export. Синтаксис этого оператора:

exportStmt ::= export exprList
exprList ::= expr | expr, exprList

где каждое expr обязано разрешаться в имя функции. Оператор export маркирует каждую функцию как импортируемую.

В скрипте, в который Вы хотите импортировать функцию, используйте оператор import. Синтаксис этого оператора:

importStmt ::= import importList
importList ::= importElem | importElem, importList
importElem ::= expr.funName | expr.*

Выполнение import expr.funName вычисляет expr и импортирует функцию funName объекта в пределах текущей области видимости. Будет ошибкой, если expr не вычисляется в объект, если нет функции по имени funName или если функция существует, но не маркирована как импортируемая. Выполнение import expr.* импортирует все импортируемые функции из expr.



Содержание раздела