Справочник по ActionScript® 3.0 для платформы Adobe® Flash®
Домашняя страница  |  Скрыть список пакетов и классов |  Пакеты  |  Классы  |  Что нового  |  Указатель  |  Приложения  |  Почему по-английски?
Фильтры: AIR 30.0 или более ранней версии, Flash Player 30.0 или более ранней версии, Flash Lite 4
Flex 4.6 или более ранней версии, Flash Pro CS6 или более ранней версии
Скрыть фильтры
 

Инструкции, ключевые слова и директивы 

Пакетыx

Верхний уровень
adobe.utils
air.desktop
air.net
air.update
air.update.events
coldfusion.air
coldfusion.air.errors
coldfusion.air.events
coldfusion.service
coldfusion.service.events
coldfusion.service.mxml
com.adobe.acm.solutions.authoring.domain.extensions
com.adobe.acm.solutions.ccr.domain.extensions
com.adobe.consulting.pst.vo
com.adobe.dct.component
com.adobe.dct.component.datadictionary
com.adobe.dct.component.datadictionaryElement
com.adobe.dct.component.dataElementsPanel
com.adobe.dct.component.toolbars
com.adobe.dct.event
com.adobe.dct.exp
com.adobe.dct.model
com.adobe.dct.service
com.adobe.dct.service.provider
com.adobe.dct.transfer
com.adobe.dct.util
com.adobe.dct.view
com.adobe.ep.taskmanagement.domain
com.adobe.ep.taskmanagement.event
com.adobe.ep.taskmanagement.filter
com.adobe.ep.taskmanagement.services
com.adobe.ep.taskmanagement.util
com.adobe.ep.ux.attachmentlist.component
com.adobe.ep.ux.attachmentlist.domain
com.adobe.ep.ux.attachmentlist.domain.events
com.adobe.ep.ux.attachmentlist.domain.renderers
com.adobe.ep.ux.attachmentlist.skin
com.adobe.ep.ux.attachmentlist.skin.renderers
com.adobe.ep.ux.content.event
com.adobe.ep.ux.content.factory
com.adobe.ep.ux.content.handlers
com.adobe.ep.ux.content.managers
com.adobe.ep.ux.content.model.asset
com.adobe.ep.ux.content.model.preview
com.adobe.ep.ux.content.model.relation
com.adobe.ep.ux.content.model.search
com.adobe.ep.ux.content.model.toolbar
com.adobe.ep.ux.content.search
com.adobe.ep.ux.content.services
com.adobe.ep.ux.content.services.load
com.adobe.ep.ux.content.services.permissions
com.adobe.ep.ux.content.services.preview
com.adobe.ep.ux.content.services.providers
com.adobe.ep.ux.content.services.query
com.adobe.ep.ux.content.services.relationships
com.adobe.ep.ux.content.services.search.lccontent
com.adobe.ep.ux.content.services.version
com.adobe.ep.ux.content.view
com.adobe.ep.ux.content.view.components.activate
com.adobe.ep.ux.content.view.components.grid
com.adobe.ep.ux.content.view.components.grid.hover
com.adobe.ep.ux.content.view.components.grid.hover.component
com.adobe.ep.ux.content.view.components.grid.renderers
com.adobe.ep.ux.content.view.components.relationships
com.adobe.ep.ux.content.view.components.review
com.adobe.ep.ux.content.view.components.search.renderers
com.adobe.ep.ux.content.view.components.searchpod
com.adobe.ep.ux.content.view.components.toolbar
com.adobe.ep.ux.content.view.components.toolbar.controlRenderers
com.adobe.ep.ux.content.view.components.version
com.adobe.ep.ux.documentsubmit.component
com.adobe.ep.ux.documentsubmit.domain
com.adobe.ep.ux.documentsubmit.skin
com.adobe.ep.ux.taskaction.component
com.adobe.ep.ux.taskaction.domain
com.adobe.ep.ux.taskaction.domain.events
com.adobe.ep.ux.taskaction.skin
com.adobe.ep.ux.taskdetails.component
com.adobe.ep.ux.taskdetails.domain
com.adobe.ep.ux.taskdetails.skin
com.adobe.ep.ux.tasklist.component
com.adobe.ep.ux.tasklist.domain
com.adobe.ep.ux.tasklist.skin
com.adobe.ep.ux.webdocumentviewer.domain
com.adobe.exm.expression
com.adobe.exm.expression.error
com.adobe.exm.expression.event
com.adobe.exm.expression.impl
com.adobe.fiber.runtime.lib
com.adobe.fiber.services
com.adobe.fiber.services.wrapper
com.adobe.fiber.styles
com.adobe.fiber.util
com.adobe.fiber.valueobjects
com.adobe.gravity.binding
com.adobe.gravity.context
com.adobe.gravity.flex.bundleloader
com.adobe.gravity.flex.progress
com.adobe.gravity.flex.serviceloader
com.adobe.gravity.framework
com.adobe.gravity.init
com.adobe.gravity.service.bundleloader
com.adobe.gravity.service.logging
com.adobe.gravity.service.manifest
com.adobe.gravity.service.progress
com.adobe.gravity.tracker
com.adobe.gravity.ui
com.adobe.gravity.utility
com.adobe.gravity.utility.async
com.adobe.gravity.utility.error
com.adobe.gravity.utility.events
com.adobe.gravity.utility.factory
com.adobe.gravity.utility.flex.async
com.adobe.gravity.utility.logging
com.adobe.gravity.utility.message
com.adobe.gravity.utility.sequence
com.adobe.gravity.utility.url
com.adobe.guides.control
com.adobe.guides.domain
com.adobe.guides.i18n
com.adobe.guides.spark.components.skins
com.adobe.guides.spark.components.skins.mx
com.adobe.guides.spark.headers.components
com.adobe.guides.spark.headers.skins
com.adobe.guides.spark.layouts.components
com.adobe.guides.spark.layouts.skins
com.adobe.guides.spark.navigators.components
com.adobe.guides.spark.navigators.renderers
com.adobe.guides.spark.navigators.skins
com.adobe.guides.spark.util
com.adobe.guides.spark.wrappers.components
com.adobe.guides.spark.wrappers.skins
com.adobe.guides.submit
com.adobe.icc.dc.domain
com.adobe.icc.dc.domain.factory
com.adobe.icc.editors.events
com.adobe.icc.editors.handlers
com.adobe.icc.editors.managers
com.adobe.icc.editors.model
com.adobe.icc.editors.model.config
com.adobe.icc.editors.model.el
com.adobe.icc.editors.model.el.operands
com.adobe.icc.editors.model.el.operators
com.adobe.icc.enum
com.adobe.icc.external.dc
com.adobe.icc.obj
com.adobe.icc.services
com.adobe.icc.services.category
com.adobe.icc.services.config
com.adobe.icc.services.download
com.adobe.icc.services.export
com.adobe.icc.services.external
com.adobe.icc.services.formbridge
com.adobe.icc.services.fragmentlayout
com.adobe.icc.services.layout
com.adobe.icc.services.letter
com.adobe.icc.services.locator
com.adobe.icc.services.module
com.adobe.icc.services.render
com.adobe.icc.services.submit
com.adobe.icc.services.user
com.adobe.icc.token
com.adobe.icc.vo
com.adobe.icc.vo.render
com.adobe.icomm.assetplacement.controller
com.adobe.icomm.assetplacement.controller.utils
com.adobe.icomm.assetplacement.data
com.adobe.icomm.assetplacement.model
com.adobe.livecycle.assetmanager.client
com.adobe.livecycle.assetmanager.client.event
com.adobe.livecycle.assetmanager.client.handler
com.adobe.livecycle.assetmanager.client.managers
com.adobe.livecycle.assetmanager.client.model
com.adobe.livecycle.assetmanager.client.model.cms
com.adobe.livecycle.assetmanager.client.service
com.adobe.livecycle.assetmanager.client.service.search
com.adobe.livecycle.assetmanager.client.service.search.cms
com.adobe.livecycle.assetmanager.client.utils
com.adobe.livecycle.content
com.adobe.livecycle.rca.model
com.adobe.livecycle.rca.model.constant
com.adobe.livecycle.rca.model.document
com.adobe.livecycle.rca.model.participant
com.adobe.livecycle.rca.model.reminder
com.adobe.livecycle.rca.model.stage
com.adobe.livecycle.rca.service
com.adobe.livecycle.rca.service.core
com.adobe.livecycle.rca.service.core.delegate
com.adobe.livecycle.rca.service.process
com.adobe.livecycle.rca.service.process.delegate
com.adobe.livecycle.rca.token
com.adobe.livecycle.ria.security.api
com.adobe.livecycle.ria.security.service
com.adobe.mosaic.layouts
com.adobe.mosaic.layouts.dragAndDrop
com.adobe.mosaic.layouts.interfaces
com.adobe.mosaic.mxml
com.adobe.mosaic.om.constants
com.adobe.mosaic.om.events
com.adobe.mosaic.om.impl
com.adobe.mosaic.om.interfaces
com.adobe.mosaic.skinning
com.adobe.mosaic.sparklib.editors
com.adobe.mosaic.sparklib.optionMenu
com.adobe.mosaic.sparklib.scrollableMenu
com.adobe.mosaic.sparklib.scrollableMenu.skins
com.adobe.mosaic.sparklib.tabLayout
com.adobe.mosaic.sparklib.tabLayout.events
com.adobe.mosaic.sparklib.tabLayout.layouts
com.adobe.mosaic.sparklib.tabLayout.skins
com.adobe.mosaic.sparklib.text
com.adobe.mosaic.sparklib.util
com.adobe.solutions.acm.authoring.presentation
com.adobe.solutions.acm.authoring.presentation.actionbar
com.adobe.solutions.acm.authoring.presentation.common
com.adobe.solutions.acm.authoring.presentation.events
com.adobe.solutions.acm.authoring.presentation.fragment
com.adobe.solutions.acm.authoring.presentation.letter
com.adobe.solutions.acm.authoring.presentation.letter.data
com.adobe.solutions.acm.authoring.presentation.preview
com.adobe.solutions.acm.authoring.presentation.rte
com.adobe.solutions.acm.ccr.presentation
com.adobe.solutions.acm.ccr.presentation.contentcapture
com.adobe.solutions.acm.ccr.presentation.contentcapture.events
com.adobe.solutions.acm.ccr.presentation.contentcapture.preview
com.adobe.solutions.acm.ccr.presentation.datacapture
com.adobe.solutions.acm.ccr.presentation.datacapture.renderers
com.adobe.solutions.acm.ccr.presentation.pdf
com.adobe.solutions.exm
com.adobe.solutions.exm.authoring
com.adobe.solutions.exm.authoring.components.controls
com.adobe.solutions.exm.authoring.components.toolbars
com.adobe.solutions.exm.authoring.domain
com.adobe.solutions.exm.authoring.domain.expression
com.adobe.solutions.exm.authoring.domain.impl
com.adobe.solutions.exm.authoring.domain.method
com.adobe.solutions.exm.authoring.domain.variable
com.adobe.solutions.exm.authoring.enum
com.adobe.solutions.exm.authoring.events
com.adobe.solutions.exm.authoring.model
com.adobe.solutions.exm.authoring.renderer
com.adobe.solutions.exm.authoring.view
com.adobe.solutions.exm.expression
com.adobe.solutions.exm.impl
com.adobe.solutions.exm.impl.method
com.adobe.solutions.exm.method
com.adobe.solutions.exm.mock
com.adobe.solutions.exm.mock.method
com.adobe.solutions.exm.runtime
com.adobe.solutions.exm.runtime.impl
com.adobe.solutions.exm.variable
com.adobe.solutions.prm.constant
com.adobe.solutions.prm.domain
com.adobe.solutions.prm.domain.factory
com.adobe.solutions.prm.domain.impl
com.adobe.solutions.prm.domain.manager
com.adobe.solutions.prm.presentation.asset
com.adobe.solutions.prm.presentation.constant
com.adobe.solutions.prm.presentation.document
com.adobe.solutions.prm.presentation.event
com.adobe.solutions.prm.presentation.file
com.adobe.solutions.prm.presentation.project
com.adobe.solutions.prm.presentation.team
com.adobe.solutions.prm.presentation.util
com.adobe.solutions.prm.service
com.adobe.solutions.prm.services.impl
com.adobe.solutions.prm.vo
com.adobe.solutions.rca.constant
com.adobe.solutions.rca.domain
com.adobe.solutions.rca.domain.common
com.adobe.solutions.rca.domain.factory
com.adobe.solutions.rca.domain.impl
com.adobe.solutions.rca.domain.impl.manager
com.adobe.solutions.rca.domain.manager
com.adobe.solutions.rca.presentation
com.adobe.solutions.rca.presentation.comment
com.adobe.solutions.rca.presentation.constant
com.adobe.solutions.rca.presentation.event
com.adobe.solutions.rca.presentation.gantt
com.adobe.solutions.rca.presentation.gantt.ruler
com.adobe.solutions.rca.presentation.template
com.adobe.solutions.rca.presentation.template.audit
com.adobe.solutions.rca.presentation.template.definition
com.adobe.solutions.rca.presentation.template.documents
com.adobe.solutions.rca.presentation.template.stages
com.adobe.solutions.rca.presentation.util
com.adobe.solutions.rca.service
com.adobe.solutions.rca.services.impl
com.adobe.solutions.rca.vo
com.adobe.solutions.rca.vo.um
com.adobe.viewsource
fl.accessibility
fl.containers
fl.controls
fl.controls.dataGridClasses
fl.controls.listClasses
fl.controls.progressBarClasses
fl.core
fl.data
fl.display
fl.events
fl.ik
fl.lang
fl.livepreview
fl.managers
fl.motion
fl.motion.easing
fl.rsl
fl.text
fl.transitions
fl.transitions.easing
fl.video
flash.accessibility
flash.concurrent
flash.crypto
flash.data
flash.desktop
flash.display
flash.display3D
flash.display3D.textures
flash.errors
flash.events
flash.external
flash.filesystem
flash.filters
flash.geom
flash.globalization
flash.html
flash.media
flash.net
flash.net.dns
flash.net.drm
flash.notifications
flash.permissions
flash.printing
flash.profiler
flash.sampler
flash.security
flash.sensors
flash.system
flash.text
flash.text.engine
flash.text.ime
flash.ui
flash.utils
flash.xml
flashx.textLayout
flashx.textLayout.compose
flashx.textLayout.container
flashx.textLayout.conversion
flashx.textLayout.edit
flashx.textLayout.elements
flashx.textLayout.events
flashx.textLayout.factory
flashx.textLayout.formats
flashx.textLayout.operations
flashx.textLayout.utils
flashx.undo
ga.controls
ga.layouts
ga.model
ga.uiComponents
ga.util
ga.views
ga.wrappers
lc.foundation
lc.foundation.domain
lc.foundation.events
lc.foundation.ui
lc.foundation.util
lc.preloader
lc.procmgmt
lc.procmgmt.commands
lc.procmgmt.domain
lc.procmgmt.events
lc.procmgmt.formbridge
lc.procmgmt.impl
lc.procmgmt.ui.attachments
lc.procmgmt.ui.controls
lc.procmgmt.ui.controls.card
lc.procmgmt.ui.controls.renderer
lc.procmgmt.ui.help
lc.procmgmt.ui.layout
lc.procmgmt.ui.presentationmodel
lc.procmgmt.ui.process
lc.procmgmt.ui.search
lc.procmgmt.ui.startpoint
lc.procmgmt.ui.task
lc.procmgmt.ui.task.form
lc.procmgmt.ui.task.form.commands
lc.procmgmt.ui.tracking
mx.accessibility
mx.automation
mx.automation.air
mx.automation.delegates
mx.automation.delegates.advancedDataGrid
mx.automation.delegates.charts
mx.automation.delegates.containers
mx.automation.delegates.controls
mx.automation.delegates.controls.dataGridClasses
mx.automation.delegates.controls.fileSystemClasses
mx.automation.delegates.core
mx.automation.delegates.flashflexkit
mx.automation.events
mx.binding
mx.binding.utils
mx.charts
mx.charts.chartClasses
mx.charts.effects
mx.charts.effects.effectClasses
mx.charts.events
mx.charts.renderers
mx.charts.series
mx.charts.series.items
mx.charts.series.renderData
mx.charts.styles
mx.collections
mx.collections.errors
mx.containers
mx.containers.accordionClasses
mx.containers.dividedBoxClasses
mx.containers.errors
mx.containers.utilityClasses
mx.controls
mx.controls.advancedDataGridClasses
mx.controls.dataGridClasses
mx.controls.listClasses
mx.controls.menuClasses
mx.controls.olapDataGridClasses
mx.controls.scrollClasses
mx.controls.sliderClasses
mx.controls.textClasses
mx.controls.treeClasses
mx.controls.videoClasses
mx.core
mx.core.windowClasses
mx.data
mx.data.crypto
mx.data.errors
mx.data.events
mx.data.messages
mx.data.mxml
mx.data.offline.errors
mx.data.utils
mx.effects
mx.effects.easing
mx.effects.effectClasses
mx.events
mx.filters
mx.flash
mx.formatters
mx.geom
mx.graphics
mx.graphics.codec
mx.graphics.shaderClasses
mx.logging
mx.logging.errors
mx.logging.targets
mx.managers
mx.messaging
mx.messaging.channels
mx.messaging.config
mx.messaging.errors
mx.messaging.events
mx.messaging.management
mx.messaging.messages
mx.modules
mx.netmon
mx.olap
mx.olap.aggregators
mx.preloaders
mx.printing
mx.resources
mx.rpc
mx.rpc.events
mx.rpc.http
mx.rpc.http.mxml
mx.rpc.livecycle
mx.rpc.mxml
mx.rpc.remoting
mx.rpc.remoting.mxml
mx.rpc.soap
mx.rpc.soap.mxml
mx.rpc.wsdl
mx.rpc.xml
mx.skins
mx.skins.halo
mx.skins.spark
mx.skins.wireframe
mx.skins.wireframe.windowChrome
mx.states
mx.styles
mx.utils
mx.validators
org.osmf.containers
org.osmf.display
org.osmf.elements
org.osmf.events
org.osmf.layout
org.osmf.logging
org.osmf.media
org.osmf.metadata
org.osmf.net
org.osmf.net.dvr
org.osmf.net.httpstreaming
org.osmf.net.metrics
org.osmf.net.qos
org.osmf.net.rtmpstreaming
org.osmf.net.rules
org.osmf.traits
org.osmf.utils
spark.accessibility
spark.automation.delegates
spark.automation.delegates.components
spark.automation.delegates.components.gridClasses
spark.automation.delegates.components.mediaClasses
spark.automation.delegates.components.supportClasses
spark.automation.delegates.skins.spark
spark.automation.events
spark.collections
spark.components
spark.components.calendarClasses
spark.components.gridClasses
spark.components.mediaClasses
spark.components.supportClasses
spark.components.windowClasses
spark.core
spark.effects
spark.effects.animation
spark.effects.easing
spark.effects.interpolation
spark.effects.supportClasses
spark.events
spark.filters
spark.formatters
spark.formatters.supportClasses
spark.globalization
spark.globalization.supportClasses
spark.layouts
spark.layouts.supportClasses
spark.managers
spark.modules
spark.preloaders
spark.primitives
spark.primitives.supportClasses
spark.skins
spark.skins.mobile
spark.skins.mobile.supportClasses
spark.skins.spark
spark.skins.spark.mediaClasses.fullScreen
spark.skins.spark.mediaClasses.normal
spark.skins.spark.windowChrome
spark.skins.wireframe
spark.skins.wireframe.mediaClasses
spark.skins.wireframe.mediaClasses.fullScreen
spark.transitions
spark.utils
spark.validators
spark.validators.supportClasses
xd.core.axm.enterprise.view.components
xd.core.axm.enterprise.view.skins
xd.core.axm.view.components
xd.core.axm.view.components.support

Элементы языка

Глобальные константы
Глобальные функции
Операторы
Инструкции, ключевые слова и директивы
Специальные типы

Приложения

Новые возможности
Ошибки компилятора
Предупреждения компилятора
Ошибки времени выполнения
Миграция ActionScript 3
Поддерживаемые наборы символов
Только MXML
Элементы движения XML
Теги Timed Text
устаревший_индекс
Константы реализации специальных возможностей
Использование примеров
Юридическая информация

Классы x

AAAARecord    
AbandonCommand
ABRUtils
AbstractConsumer
AbstractEntityMetadata
AbstractEvent
AbstractInvoker
AbstractMessage
AbstractOperation
AbstractOperation
AbstractParticipant
AbstractProducer
AbstractSearchFilterVO
AbstractService
AbstractServiceWrapper
AbstractStage
AbstractTarget
AbstractWebService
AccConst
Accelerometer
AccelerometerEvent
Accessibility
AccessibilityImplementation
AccessibilityProperties
AccessibleButton
AccessibleText
AccessPrivileges
AccImpl
AccImpl
Accordion
AccordionAutomationImpl
AccordionHeader
AccordionHeaderAccImpl
AccordionHeaderSkin
AccordionHeaderSkin
AccordionHeaderSkin
AccordionNav
AccordionSkin
AcknowledgeMessage
ACMRelationshipManager
ActionBar
ActionBar    
ActionBarButtonSkinBase
ActionBarDefaultButtonAppearance    
ActionBarSkin    
ActionEffectInstance
ActionRenderer
ActionScriptVersion
ActionSelectedEvent
ActivationBrowser
ActivatorSkin
ActiveContentEvent
ActiveDataEvent
ActivityEvent
ActualBitrateMetric
AddAction
AddActionInstance
AddApprovalStageParticipant
AddAssetPopUp
AddChild
AddChildAction
AddChildActionInstance
AddCreatorDialog
AddItemAction
AddItemActionInstance
AddItems
AddPanelButton
AddPanelEvent
AddRemoveEffectTargetFilter
AddReviewStageParticipant
AddServiceEvent
AddStageParticipant
AddTileEvent
AddViewEvent
AddViewManagerEvent
AdjustColor
AdvanceDataElementsPanel
AdvancedChannelSet
AdvancedDataGrid
AdvancedDataGridAccImpl
AdvancedDataGridAutomationImpl
AdvancedDataGridBase
AdvancedDataGridBaseEx
AdvancedDataGridBaseExAutomationImpl
AdvancedDataGridBaseSelectionData
AdvancedDataGridColumn
AdvancedDataGridColumnGroup
AdvancedDataGridDragProxy
AdvancedDataGridEvent
AdvancedDataGridEventReason
AdvancedDataGridGroupItemRenderer
AdvancedDataGridGroupItemRendererAutomationImpl
AdvancedDataGridHeaderHorizontalSeparator
AdvancedDataGridHeaderInfo
AdvancedDataGridHeaderRenderer
AdvancedDataGridHeaderShiftEvent
AdvancedDataGridItemRenderer
AdvancedDataGridItemRendererAutomationImpl
AdvancedDataGridItemSelectEvent
AdvancedDataGridListData
AdvancedDataGridRendererDescription
AdvancedDataGridRendererProvider
AdvancedDataGridSortItemRenderer
AdvancedListBase
AdvancedListBaseAutomationImpl
AdvancedListBaseContentHolderAutomationImpl
AdvancedSearchPod
AdvancedStyleClient
AfterUpSwitchBufferBandwidthRule
AggregatingToken
AggregatingTokenError
AirDragManagerAutomationHandler
AIREvent    
AirFunctionsHelper
Alert
AlertAccImpl
AlertAutomationImpl
AlertFormatter
AlertFormAutomationImpl
AlignmentArea
AllRuntimeSparkControls
AlternativeAudioEvent
AlternativeAudioTrait
AMFChannel
AndOperator
Animate
AnimateColor
AnimateColorInstance
AnimateFilter
AnimateFilterInstance
AnimateInstance
AnimateProperty
AnimatePropertyInstance
AnimateTransform
AnimateTransform3D
AnimateTransformInstance
AnimateTransitionShader
AnimateTransitionShaderInstance
Animation
Animator
Animator3D
AnimatorBase
AnimatorFactory
AnimatorFactory3D
AnimatorFactoryBase
AnimatorFactoryUniversal
AnimatorUniversal
AnnotationParseEvent
AntiAliasType
Application
Application
Application
ApplicationAutomationImpl
ApplicationBackground
ApplicationConstants
ApplicationControlBar
ApplicationDomain
ApplicationDomainTarget
ApplicationListItem
ApplicationSkin
ApplicationSkin
ApplicationSpecifier
ApplicationTitleBarBackgroundSkin    
ApplicationUpdater    
ApplicationUpdaterUI    
ApplyElementIDOperation
ApplyElementStyleNameOperation
ApplyElementTypeNameOperation
ApplyElementUserStyleOperation
ApplyFormatOperation
ApplyFormatToElementOperation
ApplyLinkOperation
ApplyTCYOperation
ApprovalStage
ApprovalStage
Approver
Approver
ApproverCollection
ApproverStatus
ApproverStatus
ApproverVO
AreaChart
AreaRenderer
AreaSeries
AreaSeriesAutomationImpl
AreaSeriesItem
AreaSeriesRenderData
AreaSet
ARecord    
ArgumentError
arguments
Array
ArrayCollection
ArrayList
ArrayUtil
ArrowDirection    
Asset
AssetAction
AssetAction
AssetActionCompleteEvent
AssetActionCompleteEvent
AssetActionEvent
AssetActionEvent
AssetActionsChangeEvent
AssetDetailsPod
AssetEvent
AssetExplorerServiceDelegate
AssetFocusEvent
AssetHandlerRegistry
AssetHandlerRegistry
AssetManager
AssetManager
AssetManagerView
AssetModel
AssetPod
AssetPropertiesEditor
AssetPropertyDescriptor
AssetPropertyDescriptor
AssetQueryServiceDelegate
AssetReviewPod
AssetTypeDescriptor
AssetTypeDescriptor
AssetValidationEvent
AssetValidationFaultType
AssetVersionPod
AssetVO
Assignment
AssignmentConstants
AsyncErrorEvent
AsyncListView
AsyncMessage
AsyncRequest
AsyncResponder
AsyncToken
AsyncTokenResponder
AsyncTokenWrapper
Attachment
AttachmentCommand
AttachmentEvent
AttachmentHeader
AttachmentHeaderBase
AttachmentHeaderModel
AttachmentIconRenderer
AttachmentIconRendererSkin
AttachmentInfo
AttachmentList
AttachmentList
AttachmentListComponent
AttachmentListModel
AttachmentListSkin
AttachmentLoader
AttachmentPermissions
Attachments
AttachmentsModel
Attribute
AudioDecoder
AudioDeviceManager
AudioElement
AudioEvent
AudioOutputChangeEvent
AudioOutputChangeReason
AudioPlaybackMode    
AudioTrait
AuditActionVO
AuditAttributeVO
AuditLevel
AuditLevel
AuditLevelVO
AuditManager
AuditMetaInfoVO
AuditModuleVO
Auditor
AugmentedError
AugmentedErrorEvent
AuthenticatingApplication
AuthenticationEvent
AuthenticationMethod
AuthFailureCode
AuthOptions
Author
AuthorStatus
AuthorVO
AuthResult
AuthStatus
AutoCapitalize    
AutoLayoutEvent
Automation
AutomationAirEvent
AutomationClass
AutomationDragEvent
AutomationDragEventWithPositionInfo
AutomationError
AutomationEvent
AutomationEventDescriptor
AutomationFlexNativeMenuEvent
AutomationHelper
AutomationID
AutomationIDPart
AutomationManager
AutomationMethodDescriptor
AutomationPropertyDescriptor
AutomationRecordEvent
AutomationReplayEvent
AvailablePropertyIterator
AvailableQualityLevelsMetric
AVDictionaryDataEvent
AverageAggregator
AVHTTPStatusEvent
AVLoader
AVM1Movie
AVNetworkingParams
AVPauseAtPeriodEndEvent
AVTagData
AVURLLoader
AVURLStream
AxisBase
AxisLabel
AxisLabelSet
AxisRenderer
AxisRendererAutomationImpl
AXMAccordion
AXMAccordionItemVO
AXMAccordionSegment
AXMBreadCrumb
AXMButton
AXMButtonBar
AXMButtonBarButton
AXMCheckBox
AXMComboBox
AXMDropDownList
AXMDropDownListBase
AXMEnterpriseAccordionSegmentSkin
AXMEnterpriseAccordionSkin
AXMEnterpriseAssetTabBar
AXMEnterpriseAssetTabBarButtonSkin
AXMEnterpriseAssetTabBarSkin
AXMEnterpriseAssetViewTabBar
AXMEnterpriseAssetViewTabBarButtonSkin
AXMEnterpriseAssetViewTabBarSkin
AXMEnterpriseBreadCrumbButtonSkin
AXMEnterpriseBreadCrumbFocusSkin
AXMEnterpriseBreadCrumbSkin
AXMEnterpriseButtonBarFirstButtonSkin
AXMEnterpriseButtonBarLastButtonSkin
AXMEnterpriseButtonBarMiddleButtonSkin
AXMEnterpriseButtonBarSkin
AXMEnterpriseButtonSkin
AXMEnterpriseCheckboxSkin
AXMEnterpriseCheckboxSmallSkin
AXMEnterpriseClosableTabBarButtonSkin
AXMEnterpriseClosableTabBarSkin
AXMEnterpriseCloseButtonSkin
AXMEnterpriseComboBoxButtonSkin
AXMEnterpriseComboBoxSkin
AXMEnterpriseComboBoxTextInputSkin
AXMEnterpriseDropDownListButtonSkin
AXMEnterpriseDropDownListItemRenderer
AXMEnterpriseDropDownListSkin
AXMEnterpriseFocusSkin
AXMEnterpriseFooterSkin
AXMEnterpriseGridHeaderRenderer
AXMEnterpriseGridSkin
AXMEnterpriseHeaderBarSkin
AXMEnterpriseHeaderButtonBar
AXMEnterpriseHScrollBarLargeSkin
AXMEnterpriseHScrollbarNoControlsSkin
AXMEnterpriseHScrollbarSkin
AXMEnterpriseHScrollbarThumbSkin
AXMEnterpriseHScrollbarTrackNoControlsSkin
AXMEnterpriseHScrollbarTrackSkin
AXMEnterpriseIconButtonSkin
AXMEnterpriseLargeButtonSkin
AXMEnterpriseLargeToggleButtonSkin
AXMEnterpriseNavigationButtonBarSkin
AXMEnterpriseNumericStepperDecrementButtonSkin
AXMEnterpriseNumericStepperIncrementButtonSkin
AXMEnterpriseNumericStepperSkin
AXMEnterpriseNumericStepperTextInputSkin
AXMEnterprisePanelSkin
AXMEnterpriseProgressSpinnerSkin
AXMEnterpriseQuietButtonSkin
AXMEnterpriseQuietHeaderBarButton
AXMEnterpriseQuietLargeButtonSkin
AXMEnterpriseQuietLargeDropDownListButtonSkin
AXMEnterpriseRadioButtonSkin
AXMEnterpriseResizeHandleSkin
AXMEnterpriseScrollDownArrowSkin
AXMEnterpriseScrollLeftArrowSkin
AXMEnterpriseScrollRightArrowSkin
AXMEnterpriseScrollUpArrowSkin
AXMEnterpriseSlideToggleButton
AXMEnterpriseSplitActionButtonSkin
AXMEnterpriseSplitActionPopUpButtonSkin
AXMEnterpriseSplitActionSkin
AXMEnterpriseTabBarButtonSkin
AXMEnterpriseTabBarSkin
AXMEnterpriseTextAreaSkin
AXMEnterpriseTextInputSkin
AXMEnterpriseTitleWindowSkin
AXMEnterpriseToggleButtonSkin
AXMEnterpriseToolBarBottomSkin
AXMEnterpriseToolBarButtonBarFirstButtonSkin
AXMEnterpriseToolBarButtonBarLastButtonSkin
AXMEnterpriseToolBarButtonBarMiddleButtonSkin
AXMEnterpriseToolbarButtonBarSkin
AXMEnterpriseToolBarTopSkin
AXMEnterpriseViewModeButtonBarButtonSkin
AXMEnterpriseViewModeButtonBarSkin
AXMEnterpriseVScrollbarNoControlsSkin
AXMEnterpriseVScrollbarSkin
AXMEnterpriseVScrollbarThumbSkin
AXMEnterpriseVScrollbarTrackNoControlsSkin
AXMEnterpriseVScrollbarTrackSkin
AXMHeaderBar
AXMHScrollBar
AXMLightItemRenderer
AXMList
AXMPopUp
AXMProgressBar
AXMProgressSpinner
AXMResizableContainer
AXMRichTextEditor
AXMRichTextEditorControlBar
AXMScroller
AXMSplitActionButton
AXMSwitch
AXMTabBar
AXMTabBarButton
AXMTitleWindow
AXMToggleButton
AXMToolPopUp
AXMToolPopUpDropDownController
AXMVerticalDivider
AXMVScrollBar

Инструкции — это элементы языка, выполняющие или задающие действие во время выполнения кода. Например, инструкция return возвращает результирующее значение функции, в которой выполняется эта инструкция. Инструкция if вычисляет условие для определения того, какое действие должно быть выполнено далее. Инструкция switch создает разветвленную структуру для элементов ActionScript.

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

Директивы включают инструкции и определения и могут действовать на этапе компиляции или на этапе выполнения. Директивы, которые не являются ни инструкциями, ни определениями, отмечены как директивы в следующей таблице.


 ключевое слово первичного выражения
 falseЛогическое значение, представляющее false.
 nullСпециальное значение, которое может быть присвоено переменным или возвращено функцией в отсутствие данных для обработки.
 thisСсылка на объект, содержащий метод.
 trueЛогическое значение, представляющее true.
  Пространства имен
 AS3Определяет методы и свойства базовых классов ActionScript, которые являются фиксированными свойствами, а не свойствами прототипа.
 flash_proxyОпределяет методы класса Proxy.
 object_proxyОпределяет методы класса ObjectProxy.
 директива
 default xml namespace Директива default xml namespace задает пространство имен по умолчанию для объектов XML.
 importДелает внешне определенные классы и пакеты доступными для пользовательского кода.
 includeВключает содержимое заданного файла, как если бы команды в файле были частью вызывающего сценария.
 use namespaceПриводит к добавлению заданных пространств имен в набор открытых пространств имен.
 инструкция
 breakИспользуется в цикле (for, for..in, for each..in, do..while или while) или в блоке инструкций, связанных с определенным случаем в инструкции switch.
 caseОпределяет цель перехода для инструкции switch.
 continueПропускает все оставшиеся инструкции в наиболее глубоко вложенном цикле и приступает к выполнению следующей итерации цикла, как если бы управление передавалось к концу цикла обычным способом.
 defaultОпределяет условие по умолчанию для инструкции switch.
 do..whileРаботает аналогично циклу while за исключением того, что инструкции выполняются однократно перед начальным вычислением условия.
 elseЗадает инструкции, которые выполняются, если условие в инструкции if возвращает значение false.
 forВычисляет однократно выражение init (инициализация), затем запускает циклическую последовательность.
 for..inВыполняет итерацию через динамические свойства объекта или элементы массива и выполняет инструкцию statement для каждого свойства или элемента.
 for each..inВыполняет итерацию через элементы коллекции и выполняет инструкцию statement для каждого элемента.
 ifВычисляет условие, по которому определяется следующая инструкция для выполнения.
 labelСвязывает инструкцию с идентификатором, ссылка на который может указываться при помощи инструкции break или continue.
 returnЗаставляет процесс выполнения незамедлительно вернуться к вызывающей функции.
 superВызывает суперклассовую или родительскую версию метода или конструктора.
 switchПриводит к передаче управления одной из нескольких инструкций в зависимости от значения выражения.
 throwГенерирует, или выбрасывает, ошибку, которая может быть обработана, или перехвачена, блоком кода catch.
 try..catch..finallyОбрамляет блок кода, в котором может произойти ошибка, затем реагирует на ошибку.
 whileВычисляет условие и, если получено значение true, выполняет инструкцию или набор инструкций перед возвращением по циклу к повторному вычислению условия.
 withУстанавливает объект по умолчанию, который используется при выполнении одной или нескольких инструкций, потенциально сокращая размер кода, который будет написан.
 ключевое слово атрибута
 dynamicПоказывает, что экземпляры класса могут обладать динамическими свойствами, добавляемыми во время выполнения.
 finalПоказывает, что метод невозможно переопределить или что класс невозможно расширить.
 internalПоказывает, что класс, переменная, константа или функция доступны любой вызывающей программе в пределах того же пакета.
 nativeПоказывает, что функция или метод реализуются проигрывателем Flash Player в собственном коде.
 overrideПоказывает, что метод заменяет наследуемый метод.
 privateПоказывает, что переменная, константа, метод или пространство имен доступны только для класса, который определяет их.
 protectedПоказывает, что переменная, константа, метод или пространство имен доступны только для класса, который определяет их, и для подклассов этого класса.
 publicПоказывает, что класс, переменная, константа или метод доступны любой вызывающей программе.
 staticПоказывает, что переменная, константа или метод принадлежит классу, а не экземплярам класса.
 ключевое слово определения
 ... (rest) parameterПоказывает, что функция принимает любое число разделенных запятыми аргументов.
 classОпределяет класс, который позволяет создавать экземпляры объектов, применяющие заданные общие методы и свойства.
 constЗадает константу, являющуюся переменной, значение которой можно присвоить только один раз.
 extendsОпределяет класс, который является подклассом другого класса.
 functionСоставляет набор инструкций, заданный пользователем для выполнения определенной задачи.
 getОпределяет получателя — метод, который может быть прочитан как свойство.
 implementsУказывает на то, что класс реализует один или несколько интерфейсов.
 interfaceОпределяет интерфейс.
 namespaceПозволяет управлять видимостью определений.
 packageПозволяет организовать код в дискретные группы, которые смогут импортировать другие сценарии.
 setОпределяет установщик — метод, отображаемый в общедоступном интерфейсе как свойство.
 varЗадает переменную.
Сведения об инструкциях, ключевых словах и директивах
... (rest) parameterключевое слово определения
Применение

function functionName(parameter0, parameter1, ...rest){ 
	// statement(s) 
} 

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

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

Каждый аргумент в списке разделенных запятой аргументов помещается в элемент массива. При передаче экземпляра класса Array весь массив помещается в один элемент массива параметра ... (rest).

Использование данного параметра делает объект arguments недоступным. Хотя параметр ... (rest) дает ту же функциональность, что и массив arguments и свойство arguments.length, он не обеспечивает возможностей свойства arguments.callee. Убедитесь, что использовать arguments.callee не требуется, перед тем, как использовать параметр ... (rest).

Параметры
rest:* — Идентификатор, представляющий собой имя массива аргументов, переданного функции. Параметр не обязательно должен иметь имя rest; он может иметь любое имя, не являющееся ключевым словом. Можно задать для параметра «...» (rest) тип данных Array, но это может привести к путанице, так как параметр принимает список разделенных запятой значений, который не идентичен экземпляру класса Array.

Пример
Использование этого примера
В следующем примере параметр ... (rest) используется в двух различных функциях. Первая функция traceParams просто вызывает функцию trace() для каждого аргумента в массиве rest. Вторая функция average() принимает список аргументов и возвращает среднее значение. Во второй функции для параметра используется другое имя — args.
package {
	import flash.display.MovieClip;
	
	public class RestParamExample extends MovieClip {
		public function RestParamExample() {
			traceParams(100, 130, "two"); // 100,130,two
			trace(average(4, 7, 13));     // 8
		}
	}
}


function traceParams(... rest) {
 	trace(rest);
 }
 
function average(... args) : Number{
	var sum:Number = 0;
	for (var i:uint = 0; i < args.length; i++) {
		sum += args[i];
	}
	return (sum / args.length);
}

Связанные элементы API

AS3 Пространства имен  

Определяет методы и свойства базовых классов ActionScript, которые являются фиксированными свойствами, а не свойствами прототипа. При установке параметра компилятора «-as3» на значение true (что является установкой по умолчанию в Flex Builder 2)пространство имен AS3 автоматически открывается для всех базовых классов. Это значит, что экземпляр базового класса будет использовать фиксированные свойства и методы вместо версий этих свойств и методов, прикрепленных к объекту-прототипу этого класса. Использование фиксированных свойств обычно обеспечивает лучшую производительность, но в ущерб обратной совместимости со спецификацией языка ECMAScript редакции 3 (ECMA-262).

Параметры

Связанные элементы API

breakинструкция 
Применение

break [label]

Используется в цикле (for, for..in, for each..in, do..while или while) или в блоке инструкций, связанных с определенным случаем в инструкции switch. При использовании в цикле инструкция break предписывает Flash пропустить оставшуюся часть тела цикла, остановить процесс организации циклов и выполнить инструкцию, следующую за инструкцией цикла. При использовании в инструкции switch инструкция break предписывает Flash пропустить оставшиеся инструкции в блоке case и перейти к первой инструкции, следующей за закрывающей инструкцией switch.

Во вложенных циклах инструкция break только пропускает оставшуюся часть выполняемого цикла, не останавливая выполнение всей серии вложенных циклов. Для выхода из всей серии вложенных циклов используйте label или try..catch..finally.

Инструкция break может иметь дополнительную метку, которая должна совпадать с меткой внешней инструкции. Использование метки, не совпадающей с меткой внешней инструкции, является синтаксической ошибкой. Помеченные инструкции break можно использовать для выхода из нескольких уровней вложенных инструкций цикла, инструкций switch или инструкций block. Для примера см. описание инструкции label.

Параметры
label:* — Имя метки, связанной с инструкцией.

Пример
Использование этого примера
В следующем примере используется инструкция break для выхода из бесконечного цикла:
var i:int = 0;
while (true) { 
	trace(i); 
	if (i >= 10) { 
		break; // this will terminate/exit the loop 
	} 
	i++; 
} 
/*
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10*/

Связанные элементы API

caseинструкция 
Применение

case jumpTarget: statements

Определяет цель перехода для инструкции switch. Если параметр jumpTarget приравнивается параметру expression инструкции switch при помощи оператора строгого равенства (===), проигрыватель Flash Player выполняет инструкции в параметре statements до появления инструкции break или до окончания инструкции switch.

При использовании инструкции case за пределами инструкции switch выдается ошибка, и сценарий не компилируется.

Параметры
jumpTarget:* — Любое выражение.
statements:* — Инструкции, выполняемые, если jumpTarget совпадает с условным выражением в инструкции switch.

Пример
Использование этого примера
Следующий пример определяет цели перехода для инструкции switch как thisMonth. Если thisMonth совпадает с выражением в инструкции case, инструкция выполняется.
var thisMonth:int = new Date().getMonth(); 
switch (thisMonth) { 
	case 0 : 
		trace("January"); 
		break; 
	case 1 : 
		trace("February"); 
		break; 
	case 5 : 
	case 6 : 
	case 7 : 
		trace("Some summer month"); 
		break; 
	case 8 : 
		trace("September"); 
		break; 
	default : 
		trace("some other month"); 
}

Связанные элементы API

classключевое слово определения 
Применение

[dynamic] [public | internal] [final] class className [ extends superClass ] [ implements interfaceName[, interfaceName... ] ] { 
	// class definition here
}

Определяет класс, который позволяет создавать экземпляры объектов, применяющие заданные общие методы и свойства. Например, при разработке системы отслеживания счетов можно создать класс Invoice, определяющий все методы и свойства, используемые каждым счетом. Затем при помощи команды new Invoice() можно создать объекты Invoice.

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

Имя внешне видимого класса должно совпадать с именем исходного файла ActionScript, содержащего этот класс. Имя исходного файла должно состоять из имени класса с расширением файла .as. Например, если класс имеет имя Student, файлу, определяющему этот класс, необходимо присвоить имя Student.as.

Определения классов вкладывать нельзя, т.е. нельзя определить дополнительные классы в определении другого класса.

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

Для указания на то, что объекты могут добавлять динамические свойства и получать к ним доступ во время выполнения, вставьте перед инструкцией класса ключевое слово dynamic. Для объявления того, что класс реализует интерфейс, используйте ключевое слово implements. Для создания подклассов класса используйте ключевое слово extends. (Класс может расширить только один класс, но реализовывать несколько интерфейсов.) Можно использовать implements и extends в одной инструкции. Следующие примеры иллюстрируют типичное использование ключевых слов implements и extends:

class C implements Interface_i, Interface_j // OK 
class C extends Class_d implements Interface_i, Interface_j // OK 
class C extends Class_d, Class_e // not OK 

Параметры
className:Class — Полное имя класса.

Пример
Использование этого примера
В следующем примере создается класс с именем Plant. Конструктор Plant имеет два параметра.
// Filename Plant.as 
package {
  public class Plant { 
	// Define property names and types 
	private var _leafType:String; 
	private var _bloomSeason:String; 
	// Following line is constructor 
	// because it has the same name as the class 
	public function Plant(param_leafType:String, param_bloomSeason:String) { 
		// Assign passed values to properties when new Plant object is created 
		_leafType = param_leafType; 
		_bloomSeason = param_bloomSeason; 
	} 
	// Create methods to return property values, because best practice 
	// recommends against directly referencing a property of a class 
	public function get leafType():String { 
		return _leafType; 
	} 
	public function get bloomSeason():String { 
		return _bloomSeason; 
	} 
  }
}
В своем сценарии используйте оператор new для создания объекта Plant.
var pineTree:Plant = new Plant("Evergreen", "N/A"); 
// Confirm parameters were passed correctly 
trace(pineTree.leafType); 
trace(pineTree.bloomSeason); 

Связанные элементы API

constключевое слово определения 
Применение

const identifier = value 

Задает константу, являющуюся переменной, значение которой можно присвоить только один раз.

Константу можно строго типизировать, вставив двоеточие (:), за которым следует тип данных.

Параметры
identifier:* — Идентификатор константы.

Пример
Использование этого примера
Следующий пример показывает, что при попытке присвоить значение константе больше одного раза возникает ошибка.
const MIN_AGE:int = 21;
MIN_AGE = 18; // error
В следующем примере показано, что если константа является массивом, все же можно вызывать методы класса Array, в том числе Array.push(). Однако невозможно присвоить новый литерал массива.
const product_array:Array = new Array("Studio", "Dreamweaver", "Flash", "ColdFusion", "Contribute", "Breeze"); 
product_array.push("Flex"); // array operations are allowed
product_array = ["Other"];  // assignment is an error
trace(product_array); 

Связанные элементы API

continueинструкция 
Применение

continue [label]

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

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

Параметры

Пример
Использование этого примера
В следующем цикле while инструкция continue используется для пропуска оставшейся части тела цикла каждый раз, когда встречается число, кратное трем, и перехода в верхнюю часть цикла, где проверяется условие:
var i:int = 0; 
while (i < 10) { 
	if (i % 3 == 0) { 
		i++; 
		continue; 
	} 
	trace(i); 
	i++; 
}
В цикле for инструкция continue также используется для пропуска оставшейся части тела цикла. В следующем примере, если i % 3 равно 0, инструкция trace(i) пропускается:
 
for (var i:int = 0; i < 10; i++) { 
	if (i % 3 == 0) { 
		continue; 
	} 
	trace(i); 
}

Связанные элементы API

defaultинструкция 
Применение

default: statements 

Определяет условие по умолчанию для инструкции switch. Инструкции выполняются, если параметр expression инструкции switch не приравнивается (при помощи операции строгого равенства [===]) ни к одному из параметров expression, следующих за ключевыми словами case в данной инструкции switch.

Для инструкции switch не требуется инструкция условия default. Инструкция условия default не обязательно должна быть последней в списке. При использовании инструкции default за пределами инструкции switch выдается ошибка, и сценарий не компилируется.

Параметры
statements:* — Любые инструкции.

Пример
Использование этого примера
В следующем примере, если днем недели является Saturday или Sunday, ни одна из инструкций case не применяется, а выполняется переход к инструкции default.
var dayOfWeek:int = new Date().getDay(); 
switch (dayOfWeek) { 
	case 1 : 
		trace("Monday"); 
		break; 
	case 2 : 
		trace("Tuesday"); 
		break; 
	case 3 : 
		trace("Wednesday"); 
		break; 
	case 4 : 
		trace("Thursday"); 
		break; 
	case 5 : 
		trace("Friday"); 
		break; 
	default : 
		trace("Weekend"); 
}

Связанные элементы API

default xml namespaceдиректива 
Применение

default xml namespace = ns

Директива default xml namespace задает пространство имен по умолчанию для объектов XML.

Если директива default xml namespace не задана, то пространством имен по умолчанию является пространство имен без имени (в качестве URI будет задана пустая строка). Область видимости объявления default xml namespace находится в блоке функции, как и в случае с областью видимости переменной.

Параметры

Пример
Использование этого примера
В следующем примере показано, что областью видимости default xml namespace является блок функций:
var nsDefault1:Namespace = new Namespace("http://www.example.com/namespaces/");
default xml namespace = nsDefault1;
	    
var x1:XML = ;
trace("x1 ns: " + x1.namespace());
			
scopeCheck();	

var x2:XML = ;
trace("x2 ns: " + x2.namespace());
		
function scopeCheck(): void {
	
	var x3:XML = ;
	trace("x3 ns: " + x3.namespace());
				
	var nsDefault2:Namespace = new Namespace("http://schemas.xmlsoap.org/soap/envelope/");
	default xml namespace = nsDefault2;
		    
	var x4:XML = ;
	trace("x4 ns: " + x4.namespace());

}
Результатом trace() для данного примера будет следующее: x1 ns: http://www.example.com/namespaces/ x3 ns: x4 ns: http://schemas.xmlsoap.org/soap/envelope/ x2 ns: http://www.example.com/namespaces/ В следующем примере default xml namespace используется для назначения пространства имен по умолчанию. Для второго объекта XML (x2) данный параметр не используется, так как x2 определяет собственное пространство имен по умолчанию:
var nsDefault:Namespace = new Namespace("http://www.example.com/namespaces/");
default xml namespace = nsDefault;
            
var x1:XML = ;

trace(x1.namespace());
	// http://www.example.com/namespaces/

var x2:XML = ;
trace(x2.namespace());
	// http://www.w3.org/1999/XSL/Transform/

var x3:XML = ;
trace(x3.namespace());
	// http://www.example.com/namespaces/

Связанные элементы API

do..whileинструкция 
Применение

do { statement(s) } while (condition)

Работает аналогично циклу while за исключением того, что инструкции выполняются однократно перед начальным вычислением условия. Впоследствии инструкции выполняются, только если условие принимает значение true.

Цикл do..while обеспечивает выполнение кода внутри цикла по крайней мере один раз. Хотя такого же эффекта можно достичь при помощи цикла while, вставив копию инструкций для выполнения перед началом цикла while, многие программисты полагают, что циклы do..while более удобочитаемы.

Если значение всегда возвращает значение true, цикл do..while является бесконечным. При создании бесконечного цикла возникают проблемы с проигрывателем Flash Player, которые ведут к появлению предупреждающего сообщения или сбою в работе проигрывателя. По возможности используйте цикл for, если известно количество раз выполнения цикла. Хотя циклы for удобны для чтения и отладки, они могут заменить циклы do..while не во всех ситуациях.

Параметры
condition:Boolean — Вычисляемое условие. Инструкции statement(s) в пределах блока кода do будут выполняться, пока параметр condition принимает значение true.

Пример
Использование этого примера
В следующем примере цикл do..while используется для вычисления того, принимает ли условие значение true, и для отслеживания переменной myVar, пока переменная myVar не примет значение 5 или больше. Когда переменная myVar принимает значение 5 или больше, цикл завершается.
var myVar:Number = 0; 
do { 
	trace(myVar); 
	myVar++; 
} 
while (myVar < 5); 
/*
0 
1 
2 
3 
4
*/

Связанные элементы API

dynamicключевое слово атрибута 
Применение

dynamic class className { // class definition here }

Показывает, что экземпляры класса могут обладать динамическими свойствами, добавляемыми во время выполнения. Если к классу применить атрибут dynamic, можно добавлять свойства к экземплярам этого класса во время выполнения. Классы, не отмеченные как dynamic, имеют статус запечатанных, т. е. свойства не могут добавляться к экземплярам этого класса.

Если класс запечатан (не является динамическим), то при попытке определить или задать свойства класса возникает ошибка. Если компилятор работает в строгом режиме и вы указали тип данных при создании экземпляров, то при попытках добавить свойства в запечатанные объекты возникнет ошибка компилятора; в противном случае — ошибка этапа выполнения.

Атрибут dynamic не наследуется подклассами. При расширении динамического класса подкласс становится динамическим, только если он объявлен с атрибутом dynamic.

Параметры

Пример
Использование этого примера
В следующем примере создаются два класса: один динамический с именем Expando и один запечатанный с именем Sealed, которые используются в последовательных примерах.
package {

	dynamic class Expando  {
	}
	
	class Sealed {
	}
}
Следующий код создает экземпляр класса Expando и показывает, что к этому экземпляру можно добавлять свойства.
var myExpando:Expando = new Expando();
myExpando.prop1 = "new";
trace(myExpando.prop1); // new
Следующий код создает экземпляр класса Sealed и показывает, что при попытках добавить свойство к этому экземпляру возникает ошибка.
var mySealed:Sealed = new Sealed();
mySealed.prop1 = "newer"; // error

Связанные элементы API

elseинструкция 
Применение

if (condition) { 
	// statement(s)
} 
else {
	// statement(s)
}

Задает инструкции, которые выполняются, если условие в инструкции if возвращает значение false. Фигурные скобки ({}), в которых заключены инструкции для выполнения инструкцией else, не требуются при выполнении только одной инструкции.

Параметры
condition:Boolean — Выражение, принимающее значение true или false.

Пример
Использование этого примера
В следующем примере условие else используется для проверки того, принимает ли переменная age_txt значение больше или меньше 18:
if (age_txt.text>=18) { 
	trace("welcome, user"); 
} 
else { 
	trace("sorry, junior"); 
	userObject.minor = true; 
	userObject.accessAllowed = false;
}
В следующем примере фигурные скобки ({}) не требуются, так как за инструкцией else следует только одна инструкция:
if (age_txt.text>18) { 
	trace("welcome, user");
} 
else trace("sorry, junior");
В следующем примере используется сочетание инструкций if и else для сравнения score_txt с заданным значением:
if (score_txt.text>90) { 
	trace("A"); 
} 
else if (score_txt.text>75) { 
	trace("B"); 
} 
else if (score_txt.text>60) { 
	trace("C"); 
} 
else { 
	trace("F"); 
}

Связанные элементы API

extendsключевое слово определения 
Применение

class className extends otherClassName {}
interface interfaceName extends otherInterfaceName {} 

Определяет класс, который является подклассом другого класса. Подкласс наследует все методы, свойства, функции и т. д., определенные для суперкласса. Классы с пометкой final не могут быть расширены.

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

Параметры
className:Class — Имя определяемого класса.

Пример
Использование этого примера
В следующем примере класс Car расширяет класс Vehicle с наследованием всех методов, свойств и функций. Если сценарий создает экземпляр объекта Car, можно использовать методы обоих классов — класса Car и класса Vehicle. В следующем примере показано содержимое файла с именем Vehicle.as, который определяет класс Vehicle:
package {
	class Vehicle { 
	    var numDoors:Number; 
	    var color:String; 
	    public function Vehicle(param_numDoors:Number = 2, param_color:String = null) { 
	        numDoors = param_numDoors; 
	        color = param_color; 
	    } 
	    public function start():void { 
	        trace("[Vehicle] start"); 
	    } 
	    public function stop():void { 
	        trace("[Vehicle] stop"); 
	    } 
	    public function reverse():void { 
	        trace("[Vehicle] reverse"); 
	    } 
	}	
}
В следующем примере показан второй файл ActionScript с именем Car.as, расположенный в том же каталоге. Этот класс расширяет класс Vehicle, изменяя его тремя способами. Во-первых, класс Car добавляет переменную fullSizeSpare для проверки того, имеет ли объект car полноразмерное запасное колесо. Во-вторых, добавляется новый метод, предназначенный только для автомобилей, activateCarAlarm(), который активирует противоугонную сигнализацию автомобиля. В-третьих, переопределяется функция stop() для добавления того факта, что класс Car использует противоблокировочную тормозную систему для остановки.
package {

	public class Car extends Vehicle { 
	    var fullSizeSpare:Boolean; 
	    public function Car(param_numDoors:Number, param_color:String, param_fullSizeSpare:Boolean) { 
	        numDoors = param_numDoors; 
	        color = param_color; 
	        fullSizeSpare = param_fullSizeSpare; 
	    } 
	    public function activateCarAlarm():void { 
	        trace("[Car] activateCarAlarm"); 
	    } 
	    public override function stop():void { 
	        trace("[Car] stop with antilock brakes"); 
	    } 
	}
}
В следующем примере создается экземпляр объекта Car, вызывается метод, определенный в классе Vehicle (start()), затем вызывается метод, переопределенный классом Car (stop()), и, наконец, вызывается метод класса Car (activateCarAlarm()):
var myNewCar:Car = new Car(2, "Red", true); 
myNewCar.start(); // [Vehicle] start 
myNewCar.stop(); // [Car] stop with anti-lock brakes 
myNewCar.activateCarAlarm(); // [Car] activateCarAlarm
Подкласс класса Vehicle можно также записать с использованием инструкции super, которую подкласс может использовать для доступа к конструктору суперкласса. В следующем примере показан третий файл ActionScript с именем Truck.as, расположенный в том же каталоге. Класс Truck использует инструкцию super в конструкторе и в переопределенном методе reverse().
package {
	class Truck extends Vehicle {
		var numWheels:Number;
		public function Truck(param_numDoors:Number, param_color:String, param_numWheels:Number) { 
			super(param_numDoors, param_color); 
			numWheels = param_numWheels; 
		} 
		public override function reverse():void { 
			beep();
			super.reverse();
		} 
		public function beep():void { 
			trace("[Truck] make beeping sound"); 
		} 
	}
}
В следующем примере создается экземпляр объекта Truck, вызывается метод, переопределенный классом Truck (reverse()), затем вызывается метод, определенный в классе Vehicle (stop()):
var myTruck:Truck = new Truck(2, "White", 18); 
myTruck.reverse(); // [Truck] make beeping sound [Vehicle] reverse 
myTruck.stop(); // [Vehicle] stop

Связанные элементы API

falseключевое слово первичного выражения 
Применение

false

Логическое значение, представляющее false. Логическим значением становится либо true, либо false, причем значения false и true являются противоположными.

Если в процессе автоматической типизации данных false преобразуется в число, то оно становится 0; при преобразовании false в строку, оно принимает вид "false".

Примечание. Строка "false" преобразуется в логическое значение true.

Параметры

Пример
Использование этого примера
Следующий пример иллюстрирует преобразование значения false в число и в строку при автоматической типизации данных:
var bool1:Boolean = Boolean(false);

// converts it to the number 0
trace(1 + bool1); // outputs 1

// converts it to a string
trace("String: " + bool1); // outputs String: false
Следующий пример показывает, как строка "false" преобразуется в логическое значение true:
trace(Boolean("false")); // true

if ("false") {
	trace("condition expression evaluated to true");
}
else {
	trace("condition expression evaluated to false");
}
// condition expression evaluated to true

Связанные элементы API

finalключевое слово атрибута 
Применение

final function methodName() { 
	// your statements here 
}
final class className {}

Показывает, что метод невозможно переопределить или что класс невозможно расширить. При попытке переопределить метод или расширить класс, отмеченный как final, возникнет ошибка.

Параметры
methodName:Function — Имя метода, который невозможно переопределить.
className:Class — Имя класса, который невозможно расширить.

Связанные элементы API

flash_proxy Пространства имен  

Определяет методы класса Proxy. Методы класса Proxy находятся в собственном пространстве имен во избежание конфликтов имен в случаях, когда подкласс Proxy содержит методы экземпляра с именами, которые совпадают с именами методов класса Proxy.

Параметры

Связанные элементы API

forинструкция 
Применение

for ([init]; [condition]; [next]) { 
	// statement(s)
}

Вычисляет однократно выражение init (инициализация), затем запускает циклическую последовательность. Циклическая последовательность начинается с вычисления выражения condition. Если выражение condition принимает значение true, выполняется инструкция statement и вычисляется next. Циклическая последовательность затем начинается снова с вычисления выражения condition.

Фигурные скобки ({}), в которых заключены инструкции для выполнения инструкцией for, не требуются при выполнении только одной инструкции.

Параметры
init — Дополнительное выражение для вычисления перед началом выполнения циклической последовательности; как правило, это выражение присваивания. Инструкция var также допустима для данного параметра.
condition — Дополнительное выражение для вычисления перед началом выполнения циклической последовательности; как правило, это выражение сравнения. Если выражение принимает значение true, инструкции, связанные с инструкцией for, выполняются.
next — Дополнительное выражение для вычисления после выполнения циклической последовательности; как правило, это выражение увеличения или уменьшения на единицу.

Пример
Использование этого примера
В следующем примере инструкция for используется для добавления элементов в массив:
var my_array:Array = new Array(); 
for (var i:Number = 0; i < 10; i++) { 
	my_array[i] = (i + 5) * 10;  
} 
trace(my_array); // 50,60,70,80,90,100,110,120,130,140 
В следующем примере инструкция for используется для повторяющегося выполнения того же действия. В этом коде цикл for добавляет числа от 1 до 100.
var sum:Number = 0; 
for (var i:Number = 1; i <= 100; i++) { 
	sum += i; 
} 
trace(sum); // 5050
Следующий пример показывает, что фигурные скобки ({}) не требуются, если выполняется только одна инструкция:
var sum:Number = 0; 
for (var i:Number = 1; i <= 100; i++) 
	sum += i; 
trace(sum); // 5050

Связанные элементы API

for..inинструкция 
Применение

for (variableIterant:String in object){ 
	// statement(s)
} 

Выполняет итерацию через динамические свойства объекта или элементы массива и выполняет инструкцию statement для каждого свойства или элемента. Свойства объекта не хранятся в определенном порядке, поэтому могут отображаться в произвольной последовательности. Фиксированные свойства, например переменные и методы, определенные в классе, не перечисляются в инструкции for..in. Для получения списка фиксированных свойств используйте функцию describeType(), которая находится в пакете flash.utils.

Параметры
variableIterant:String — Имя переменной, выступающей в роли итеранта, ссылающейся на каждое свойство объекта или элемента массива.

Пример
Использование этого примера
В следующем примере цикл for..in используется с целью выполнения итерации для всех свойств объекта:
var myObject:Object = {firstName:"Tara", age:27, city:"San Francisco"}; 
for (var prop in myObject) { 
	trace("myObject."+prop+" = "+myObject[prop]); 
} 
/*
myObject.firstName = Tara 
myObject.age = 27 
myObject.city = San Francisco
*/
В следующем примере оператор typeof с циклом for..in используется с целью выполнения итерации для определенного типа дочерних объектов:
var myObject:Object = {firstName:"Tara", age:27, city:"San Francisco"}; 
for (var name in myObject) { 
	if (typeof (myObject[name]) == "string") { 
		trace("I have a string property named "+name); 
	} 
}
/*
I have a string property named city
I have a string property named firstName
*/

Связанные элементы API

for each..inинструкция 
Применение

for each (variableIterant in object){ 
	// statement(s)
} 

Выполняет итерацию через элементы коллекции и выполняет инструкцию statement для каждого элемента. Инструкцию for each..in, введенную в составе расширений языка E4X, можно использовать не только для объектов XML, но также для объектов и массивов. Инструкция цикла for each..in выполняет итерацию только через динамические, а не фиксированные, свойства объекта. Фиксированным является свойство, являющееся частью определения класса. Для использования инструкции for each..in с экземпляром класса, определенного пользователем, необходимо объявить класс с атрибутом dynamic.

В отличие от for..in, инструкция for each..in выполняет итерацию для значений свойств объекта, а не для имен свойств.

Параметры
variableIterant:* — Имя переменной, выступающей в роли итеранта, ссылающейся на элемент коллекции.
object:Object — Имя коллекции, через которую выполняется итерация. Коллекцией может быть объект XML, типовой объект или массив.

Пример
Использование этого примера
В следующем примере цикл for each..in используется с целью выполнения итерации для всех значений, содержащихся в свойствах объекта:
var myObject:Object = {firstName:"Tara", age:27, city:"San Francisco"}; 
for each (var item in myObject) { 
	trace(item); 
} 
/*
Tara
27
San Francisco
*/
В следующем примере цикл for each..in используется с целью выполнения итерации для всех элементов массива:
var myArray:Array = new Array("one", "two", "three"); 
for each(var item in myArray) 
	trace(item); 
/*
one
two
three
*/
В следующем примере оператор is с циклом for each..in используется с целью выполнения итерации для определенного типа дочерних объектов:
var myObject:Object = {firstName:"Tara", age:27, city:"San Francisco"}; 
for each (var item in myObject) { 
	if (item is String) {  
		trace("I have a string property with value " + item); 
	} 
}

/*
I have a string property with value Tara
I have a string property with value San Francisco
*/
В следующем примере цикл for each..in используется с целью выполнения итерации для свойств объекта XMLList (doc.p):
var doc:XML = 
		
			

Hello

Hola


Bonjour

; for each (var item in doc.p) { trace(item); } /* Hello Hola Bonjour */

functionключевое слово определения 
Применение

function functionName([parameter0, parameter1,...parameterN]) : returnType{ 
	// statement(s) 
} 
var functionName:Function = function ([parameter0, parameter1,...parameterN]) : returnType{ 
	// statement(s) 
} 

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

Используйте инструкцию return в блоке statement(s) функции для того, чтобы функция сгенерировала, или возвратила, значение.

Применение 1. Ключевое слово function можно использовать для определения функции с заданным именем, параметрами и инструкциями. При вызове функции сценарием выполняются инструкции, заложенные в определении функции. Допускается опережающая ссылка; в рамках одного сценария функцию можно объявить после ее вызова. Последующее определение функции заменяет любое предыдущее определение этой функции. Этот синтаксис можно использовать там, где разрешается выполнение инструкции.

Применение 2. Инструкцию function можно также использовать для создания анонимной функции и возврата ссылки на нее. Этот синтаксис используется в выражениях и особенно полезен для установки методов объектов.

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

Параметры
functionName:Function — Имя новой функции.
returnType:* — Тип данных возвращаемого значения.

Пример
Использование этого примера
Далее приводится пример определения функции sqr, которая возвращает число, возведенное в квадрат:
function sqr(xNum:Number) { 
	return Math.pow(xNum, 2); 
} 
var yNum:Number = sqr(3); 
trace(yNum); // 9
Если функция используется в том же сценарии, в котором была определена, определение функции может появиться после ее использования:
var yNum:Number = sqr(3); 
trace(yNum); // 9 
function sqr(xNum:Number) { 
	return Math.pow(xNum, 2); 
}

Связанные элементы API

getключевое слово определения 
Применение

function get property() : returnType{ 
	// your statements here 
}

Определяет получателя — метод, который может быть прочитан как свойство. Получатель — это специальная функция, которая возвращает значение свойства, объявленного при помощи ключевого слова var или const. В отличие от других методов, получатель вызывается без использования круглых скобок (()), что делает его похожим на переменную.

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

Еще одним преимуществом получателей является то, что они могут переопределяться в подклассах, а свойства, объявленные при помощи ключевых слов var или const, не могут.

Получатель может использоваться совместно с установщиком для создания свойства чтения-записи. Для создания свойства только для чтения создайте получатель без соответствующего установщика. Для создания свойства только для записи создайте установщик без соответствующего получателя.

Параметры
property:* — Идентификатор свойства, к которому обращается инструкция get; это значение должно быть тем же, что используется в соответствующей команде set.
returnType:* — Тип данных возвращаемого значения.

Пример
Использование этого примера
Далее приводится пример определения класса Team. Класс Team включает в себя методы получателя и установщика, которые позволяют считывать и задавать свойства в классе:
package {
	public class Team { 
		var teamName:String; 
		var teamCode:String; 
		var teamPlayers:Array = new Array(); 
		public function Team(param_name:String, param_code:String) { 
			teamName = param_name; 
			teamCode = param_code; 
		} 
		public function get name():String { 
			return teamName; 
		} 
		public function set name(param_name:String):void { 
			teamName = param_name; 
		}
	} 
}
Введите в сценарий следующий код:
var giants:Team = new Team("San Fran", "SFO"); 
trace(giants.name); 
giants.name = "San Francisco"; 
trace(giants.name); 
/*
San Fran San Francisco */
При трассировке giants.name метод получателя используется для возврата значения свойства.

Связанные элементы API

ifинструкция 
Применение

if (condition) {
	// statement(s)
}

Вычисляет условие, по которому определяется следующая инструкция для выполнения. Если условие принимает значение true, Flash Player выполняет следующие за условием инструкции в фигурных скобках ({}). Если условие принимает значение false, Flash Player пропускает инструкции в фигурных скобках и выполняет инструкции, следующие за фигурными скобками. Используйте инструкцию if в сочетании с инструкцией else для создания логики ветвления в сценариях.

Фигурные скобки ({}), в которых заключены инструкции для выполнения инструкцией if, не требуются при выполнении только одной инструкции.

Параметры
condition:Boolean — Выражение, принимающее значение true или false.

Связанные элементы API

implementsключевое слово определения 
Применение

myClass implements interface01 [, interface02 , ...] 

Указывает на то, что класс реализует один или несколько интерфейсов. Если класс реализует интерфейс, в нем должны быть определены все методы, объявленные в интерфейсе. Любой экземпляр класса, реализующий интерфейс, относится к типу данных, определенному интерфейсом. В результате оператор is возвращает true, когда экземпляр класса является первым операндом, а интерфейс — вторым; более того, действует преобразование в тип данных и из типа данных, определенного интерфейсом.

Параметры

Связанные элементы API

importдиректива 
Применение

import packageName.className 
import packageName.*

Делает внешне определенные классы и пакеты доступными для пользовательского кода. Например, для использования в сценарии класса flash.display.Sprite необходимо его импортировать. Данное требование является отличием от предыдущих версий ActionScript, в которых директива import была необязательной.

После использования директивы import можно использовать полное имя класса, которое включает в себя имя пакета или только имя самого класса.

 
import flash.display.Sprite; 

// name of class only
var mySprite:Sprite = new Sprite();

// full class name
var mySprite:flash.display.Sprite = new flash.display.Sprite();

Если необходимо получить доступ к нескольким классам в пакете, их все можно импортировать в одной инструкции, как показано в следующем примере:

import flash.display.*;

Директива import импортирует только классы, функции и переменные верхнего уровня импортируемого пакета. Вложенные пакеты необходимо импортировать явным образом.

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

// On Frame 1 of a FLA: 
import adobe.example.*; 
var myFoo:foo = new foo();

Параметры
packageName:* — Имя пакета, определенного пользователем в отдельном файле класса.
className:Class — Имя класса, определенного пользователем в отдельном файле класса.
includeдиректива 
Применение

include "[path]filename.as"

Включает содержимое заданного файла, как если бы команды в файле были частью вызывающего сценария. Директива include вызывается во время компиляции. Следовательно, при внесении изменений в файл необходимо его сохранить и повторно скомпилировать SWF-файлы, в которых он используется.

Параметры
interfaceключевое слово определения 
Применение

 interface InterfaceName [extends InterfaceName ] {}

Определяет интерфейс. Интерфейсы — это типы данных, которые определяют набор методов; эти методы должны определяться любым классом, реализующим интерфейс.

Интерфейс подобен классу, но имеет следующие важные отличия:

  • Интерфейсы содержат только объявления методов, а не их реализацию. Другими словами, каждый класс, реализующий интерфейс, должен обеспечить реализацию каждого метода, объявленного в интерфейсе.
  • Определения методов интерфейса не могут иметь таких атрибутов, как public или private, но реализованные методы должны быть отмечены как public в определении класса, реализующего интерфейс.
  • Несколько интерфейсов могут быть унаследованы интерфейсом при помощи инструкции extends или классом посредством инструкции implements.

В отличие от ActionScript 2.0, ActionScript 3.0 позволяет использовать методы получателя и установщика в определениях интерфейса.

Параметры

Связанные элементы API

internalключевое слово атрибута 
Применение

[internal] var varName
[internal] const kName
[internal] function functionName()  { 
	// your statements here 
}
[internal] class className{
	// your statements here 
}
[internal] namespace nsName

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

Параметры
className:Class — Имя класса, который нужно задать как внутренний (internal).
varName:* — Имя переменной, которую нужно задать как внутреннюю (internal). Атрибут internal можно применять независимо от того, является переменная частью класса или нет.
kName:* — Имя константы, которую нужно задать как внутреннюю (internal). Атрибут internal можно применять независимо от того, является константа частью класса или нет.
functionName:Function — Имя функции или метода, которые нужно задать как внутренние (internal). Атрибут internal можно применять независимо от того, является функция частью класса или нет.
nsName:Namespace — Имя пространства имен, которое нужно задать как внутреннее (internal). Атрибут internal можно применять независимо от того, является пространство имен частью класса или нет.

Связанные элементы API

labelинструкция 
Применение

label: statement
label: {
    statements
}

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

Метки также позволяют выйти из блока инструкций. Нельзя вставить инструкцию break, которая не ссылается на метку, в блок инструкций, если этот блок инструкций не является частью цикла. Если блок инструкций имеет связанную метку, можно вставить инструкцию break, которая ссылается на эту метку в блоке инструкций.

Параметры
label:* — Действительный идентификатор, связываемый с инструкцией.
statements:* — Инструкция, связываемая с меткой.

Пример
Использование этого примера
Следующий пример иллюстрирует использование метки во вложенном цикле для выхода из всей серии циклов. В коде используется вложенный цикл для создания списка чисел от 0 до 99. Инструкция break появляется непосредственно перед тем, как счет достигнет 80. Если бы инструкция break не использовала метку outerLoop, код пропустил бы только оставшуюся часть непосредственно выполняемого цикла и продолжил бы выводить числа от 90 до 99. Однако за счет использования метки outerLoop инструкция break пропускает всю серию циклов, и последним выводится число 79.
outerLoop: for (var i:int = 0; i < 10; i++) {
	for (var j:int = 0; j < 10; j++) {
		if ( (i == 8) && (j == 0)) {
			break outerLoop;
		}
		trace(10 * i + j);
	}
}
/*
1
2
...
79
*/
В следующем примере показано использование метки с блоком инструкций. В следующем примере блок инструкций имеет метку foo, что позволяет инструкции break пропустить последнюю инструкцию в блоке:
foo: {
	trace("a");
	break foo;
	trace("b");
}
// a

Связанные элементы API

namespaceключевое слово определения 
Применение

namespace name [= uri]

Позволяет управлять видимостью определений. Предопределенные пространства имен включают в себя public, private, protected и internal.

Далее приводится процедура создания, применения и ссылки на пространство имен:

  • Во-первых, определите пользовательское пространство имен при помощи ключевого слова namespace. Например, код namespace version1 создает пространство имен с именем version1.
  • Во-вторых, примените это пространство имен к свойству или методу путем его использования в объявлении свойства или метода. Например, код version1 myProperty:String создает свойство с именем myProperty, которое принадлежит пространству имен version1
  • В-третьих, создайте ссылку на пространство имен при помощи ключевого слова use или путем использования пространства имен в качестве префикса идентификатора. Например, код use namespace version1; ссылается на пространство имен version1 для последующих строк кода, а код version1::myProperty ссылается на пространство имен version1 для свойства myProperty.

Параметры
name:Namespace — Имя пространства имен, которым может быть любой допустимый идентификатор.
uri:String — Унифицированный идентификатор ресурса (URI-адрес) пространства имен. Этот параметр не является обязательным.

Связанные элементы API

nativeключевое слово атрибута 
Применение

native function functionName();
class className { 
	native function methodName();
}

Показывает, что функция или метод реализуются проигрывателем Flash Player в собственном коде. Проигрыватель Flash Player использует ключевое слово native внутренне для объявления функций и методов в интерфейсе программирования приложений (API) ActionScript. Данное ключевое слово нельзя использовать в пользовательском коде.  

Параметры
nullключевое слово первичного выражения 
Применение

null

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

Значение null не следует путать со специальным значением undefined. Если значения null и undefined сравниваются с оператором равенства (==), они считаются равными. Однако когда значения null и undefined сравниваются с оператором строгого равенства (===), они не рассматриваются как равные.

Параметры

Пример
Использование этого примера
В следующем примере проверяются первые шесть значений проиндексированного массива и выводится сообщение, если значение не задано (если value == null):
var testArray:Array = new Array();
testArray[0] = "fee";
testArray[1] = "fi";
testArray[4] = "foo";

for (i = 0; i < 6; i++) {
    if (testArray[i] == null) {
        trace("testArray[" + i + "] == null");
    }
}

/* 
testArray[2] == null
testArray[3] == null
testArray[5] == null
*/

Связанные элементы API

object_proxy Пространства имен  

Определяет методы класса ObjectProxy. Методы класса ObjectProxy находятся в собственном пространстве имен во избежание конфликтов имен в случаях, когда подкласс Proxy содержит методы экземпляра с именами, которые совпадают с именами методов класса Proxy.

Параметры
overrideключевое слово атрибута 
Применение

override function name() { 
	// your statements here 
}

Показывает, что метод заменяет наследуемый метод. Для переопределения наследуемого метода необходимо использовать атрибут override и убедиться в том, что имя, атрибут свойства класса, число, тип параметров и тип возвращаемого значения полностью совпадают. Попытка переопределить метод без использования атрибута override считается ошибкой. Более того, ошибкой считается использование атрибута override, если для метода не существует соответствующего наследуемого метода.

Атрибут override нельзя использовать с:

  • Переменные
  • Константы
  • Статическими методами
  • Методами, которые не наследуются
  • Методами, реализующими метод интерфейса
  • Наследуемыми методами, отмеченными в суперклассе как final

Хотя невозможно переопределить свойство, объявленное при помощи var или const, схожей функциональности можно достигнуть, преобразовав свойство базового класса в получатель-установщик и переопределив методы, определенные при помощи get и set.

Параметры
name:Function — Имя переопределяемого метода.

Связанные элементы API

packageключевое слово определения 
Применение

package packageName {
    class someClassName { 
    } 
}

Позволяет организовать код в дискретные группы, которые смогут импортировать другие сценарии. Ключевое слово package необходимо использовать для указания на принадлежность класса пакету.

Параметры
packageName:* — Имя пакета.

Связанные элементы API

privateключевое слово атрибута 
Применение

class className{ 
	private var varName;
	private const kName;
	private function methodName() { 
		// your statements here 
	}
	private namespace nsName;
}

Показывает, что переменная, константа или метод доступны только для класса, который объявляет или определяет их. В отличие от ActionScript 2.0, в ActionScript 3.0 private больше не обеспечивает доступ к подклассам. Более того, private ограничивает доступ как во время компиляции, так и во время выполнения. По умолчанию переменная или функция доступны любой вызывающей программе в пределах того же пакета. Используйте это ключевое слово для ограничения доступа к переменной или функции.

Это ключевое слово можно использовать только в определениях класса, а не интерфейса. Ключевое слово private нельзя применить к классу или к другим определениям на уровне пакета.

Параметры
varName:* — Имя переменной, которую нужно задать как частную (private). Атрибут private можно применить, только если переменная находится внутри класса.
kName:* — Имя константы, которую нужно задать как частную (private). Атрибут private можно применить, только если константа находится внутри класса.
methodName:Function — Имя метода, который нужно задать как частный (private). Атрибут private можно применить, только если метод находится внутри класса.
nsName:Namespace — Имя пространства имен, которое нужно задать как частное (private). Атрибут private можно применить, только если пространство имен находится внутри класса.

Пример
Использование этого примера
Следующий пример иллюстрирует способ скрытия определенных свойств в классе при помощи ключевого слова private.
class A { 
  private var alpha:String = "visible only inside class A"; 
  public var beta:String = "visible everywhere"; 
}
	
class B extends A {
  function B() {
    alpha = "Access attempt from subclass"; // error
  }
}
Поскольку alpha является частной переменной, к ней нельзя получить доступ вне класса A, даже из подкласса B. Попытки получить доступ к этой частной переменной приведут к возникновению ошибки.

Связанные элементы API

protectedключевое слово атрибута 
Применение

class className{ 
	protected var varName;
	protected const kName;
	protected function methodName() { 
		// your statements here 
	}
	protected namespace nsName;
}

Показывает, что переменная, константа, метод или пространство имен доступны только для класса, который определяет их, и для подклассов этого класса. Определение ключевого слова protected в ActionScript 3.0 подобно определению ключевого слова private версии ActionScript 2.0 за исключением того, что protected ограничивает доступ как во время компиляции, так и во время выполнения. По умолчанию переменная или функция доступны любой вызывающей программе в пределах того же пакета. Используйте это ключевое слово для ограничения доступа к переменной или функции.

Это ключевое слово можно использовать только в определениях класса, а не интерфейса. Ключевое слово private нельзя применить к классу или к другим определениям на уровне пакета.

Определение ключевого слова protected в ActionScript 3.0 является более ограничительным, чем определение protected в языке программирования Java. В ActionScript 3.0 protected разрешает доступ строго к подклассам, тогда как в Java protected разрешает доступ также к любому классу в пределах того же пакета. Например, если класс с именем Base содержит свойство, отмеченное как protected, в ActionScript 3.0 только классы, расширяющие класс Base, имеют доступ к этому защищенному свойству. В Java любой класс, который находится в том же пакете, что и класс Base, имеет доступ к защищенному свойству, даже если этот класс не является подклассом класса Base.

Параметры
varName:* — Имя переменной, которую нужно задать как защищенную (protected). Атрибут protected можно применить, только если переменная находится внутри класса.
kName:* — Имя константы, которую нужно задать как защищенную (protected). Атрибут protected можно применить, только если константа находится внутри класса.
methodName:Function — Имя метода, который нужно задать как защищенный (protected). Атрибут protected можно применить, только если метод находится внутри класса.
nsName:Namespace — Имя пространства имен, которое нужно задать как защищенное (protected). Атрибут protected можно применить, только если пространство имен находится внутри класса.

Пример
Использование этого примера
Следующий код создает переменную в защищенном классе A и успешно получает доступ к этой переменной в классе B, так как класс B является подклассом класса A.
class A { 
  private var alpha:String = "visible only inside class A"; 
  protected var beta:String = "visible inside class A and its subclasses"; 
}
	
class B extends A {
  public function B() {
    beta = "Access attempt from subclass succeeded";
    trace(beta);  // Access attempt from subclass succeeded
  }
}

Связанные элементы API

publicключевое слово атрибута 
Применение

public var varName
public const kName
public function functionName()  { 
	// your statements here 
}
public class className {
	// your statements here 
}
public namespace nsName

Показывает, что класс, переменная, константа или метод доступны для любой вызывающей программы. Классы, переменные и методы являются внутренними (internal) по умолчанию, т.е. они видимы только в пределах текущего пакета. Чтобы сделать класс, переменную или метод видимыми для всех вызывающих программ, необходимо использовать атрибут public.

Параметры
className:Class — Имя класса, который нужно задать как общедоступный (public).
varName:* — Имя переменной, которую нужно задать как общедоступную (public). Атрибут public можно применять независимо от того, является переменная частью класса или нет.
kName:* — Имя константы, которую нужно задать как общедоступную (public). Атрибут public можно применять независимо от того, является константа частью класса или нет.
functionName:Function — Имя функции или метода, которые нужно задать как общедоступные (public). Атрибут public можно применять независимо от того, является функция частью класса или нет.
nsName:Namespace — Имя пространства имен, которое нужно задать как общедоступное (public). Атрибут public можно применять независимо от того, является пространство имен частью класса или нет.

Пример
Использование этого примера
Следующий пример иллюстрирует использование общедоступных переменных в файле класса:
class User { 
	public var age:Number; 
	public var fname:String; 
} // end of class User definition
 
var jimmy:User = new User(); 
jimmy.age = 27; 
jimmy.fname = "jimmy";
trace(jimmy.age, jimmy.fname); // 27 jimmy
Если изменить одну из общедоступных переменных в классе User на частную переменную, любая попытка получить доступ к этой переменной за пределами класса User приведет к ошибке этапа компиляции.

Связанные элементы API

returnинструкция 
Применение

function functionName () {
	return [expression]
}

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

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

Возврат нескольких значений невозможен. При попытке сделать это будет возвращено только последнее значение. В следующем примере c возвращается:

return a, b, c ;

Если необходим возврат нескольких значений, используйте вместо этого массив или объект.

Параметры
expression:* — Выражение, которое нужно вычислить и вернуть в качестве значения функции. Этот параметр является необязательным.

Пример
Использование этого примера
В следующем примере инструкция return используется в теле функции sum() для возврата суммы трех параметров. Следующая строка кода вызывает sum() и присваивает возвращенное значение переменной newValue.
function sum(a:Number, b:Number, c:Number):Number { 
	return (a + b + c); 
} 
var newValue:Number = sum(4, 32, 78); 
trace(newValue); // 114

Связанные элементы API

setключевое слово определения 
Применение

function set property(newValue:*) : void{ 
	// your statements here 
}

Определяет установщик — метод, отображаемый в общедоступном интерфейсе как свойство. Установщик — это специальный метод, который задает значение свойства, объявленного при помощи ключевого слова var. В отличие от других методов, установщик вызывается без использования круглых скобок (()), что делает его похожим на переменную.

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

Еще одним преимуществом установщиков является то, что они могут переопределяться в подклассах, а свойства, объявленные при помощи ключевых слов var, не могут.

Возвращаемое установщиком значение может относиться к типу void или не указываться.

Установщик может использоваться совместно с получателем для создания свойства чтения-записи. Для создания свойства только для чтения создайте получатель без соответствующего установщика. Для создания свойства только для записи создайте установщик без соответствующего получателя.

Параметры
property:* — Идентификатор свойства, которое изменяется при помощи инструкции set; это значение должно быть тем же, что используется в соответствующей команде get.
newValue:* — Новое присваиваемое значение.

Пример
Использование этого примера
В следующем примере создается свойство чтения-записи с именем age путем определения получателя-установщика.
package {
	class User { 
	    private var userAge:Number; 
	    
	    public function get age():Number {
	    	return userAge;
	    }
	    
	    public function set age(x:Number):void {
	    	userAge = x;	
	    }
	} 
} 
Введите в сценарий следующий код:
var myUser:User = new User();
myUser.age = 25;
trace(myUser.age); // 25

Связанные элементы API

staticключевое слово атрибута 
Применение

class someClassName{ 
	static var varName; 
	static const kName;
	static function methodName() { 
		// your statements here
	} 
}

Показывает, что переменная, константа или метод принадлежит классу, а не экземплярам класса.

Для доступа к статическому члену класса используйте имя класса вместо имени экземпляра. Например, класс Date имеет статический метод с именем parse(), который можно вызвать только при помощи следующего синтаксиса:

Date.parse()

Метод parse() невозможно вызвать для экземпляра класса Date. Например, в следующем коде создается ошибка:

var myDate:Date = new Date();
            myDate.parse("Jan 01 00:00:00 2006"); // error

Можно использовать static только в определениях класса, а не интерфейса.

Статические члены класса не наследуются. Невозможно сослаться на статический член класса, используя имя подкласса, что возможно в Java или C++. Однако можно сослаться на статическую переменную или статический метод в пределах класса или подкласса без использования квалификатора. См. пример ниже.

Инструкцию super или ключевое слово this нельзя использовать внутри статического метода.

Параметры
varName:* — Имя переменной, которую нужно задать как статическую (static).
kName:* — Имя константы, которую нужно задать как статическую (static).
methodName:Function — Имя метода, который нужно задать как статический (static).

Пример
Использование этого примера
Следующий пример иллюстрирует использование ключевого слова static для создания счетчика, который отслеживает количество созданных экземпляров класса. Поскольку переменная numInstances является статической, она будет создана только один раз для всего класса, а не для отдельных экземпляров. Создайте новый файл ActionScript с именем Users.as и введите следующий код:
class Users { 
	private static var numInstances:Number = 0; 
	function Users() { 
		numInstances++; 
	} 
	static function get instances():Number { 
		return numInstances; 
	} 
}
Введите в сценарий следующий код:
trace(Users.instances); 
var user1:Users = new Users(); 
trace(Users.instances); 
var user2:Users = new Users(); 
trace(Users.instances); 
В следующем примере класс Users расширяется, чтобы показать, что статические переменные и методы не наследуются, но на них можно сослаться в подклассах.
class PowerUsers extends Users{
    function PowerUsers() {
        instances++;  // unqualified reference to static property Users.instances is legal
    }
}

trace(PowerUsers.instances); // error, cannot access static property using PowerUsers class

superинструкция 
Применение

super([arg1, ..., argN])
super.method([arg1, ..., argN])

Вызывает суперклассовую или родительскую версию метода или конструктора. При использовании в теле конструктора класса инструкция super() вызывает суперклассовую версию конструктора. В вызове конструктора суперкласса должно быть правильное количество аргументов. Заметьте, что конструктор суперкласса вызывается всегда, независимо от того, осуществляется ли его вызов явным образом. Если он не вызывается явным образом, вызов без аргументов автоматически вставляется перед первой инструкцией в теле конструктора подкласса. Это значит, что если функция конструктора определена в подклассе, а конструктор суперкласса принимает один или несколько аргументов, необходимо вызвать конструктор суперкласса явным образом с правильным числом аргументов, иначе произойдет ошибка. Вызов конструктора суперкласса, однако, не обязательно должен быть первой инструкцией в конструкторе подкласса, как это должно быть в ActionScript 2.0.

При использовании в теле метода экземпляра super может использоваться с оператором «точка» (.) для вызова суперклассовой версии метода и дополнительно передавать аргументы (arg1 ... argN) методу суперкласса. Это полезно для создания методов подкласса, которые не только обеспечивают дополнительное поведение методов суперкласса, но и вызывают методы суперкласса для реализации их исходного поведения.

Инструкцию super нельзя использовать в статическом методе.

Параметры
method:Function — Метод, который нужно вызвать в суперклассе.
argN:* — Дополнительные параметры, передаваемые суперклассовой версии метода или функции конструктора суперкласса.

Связанные элементы API

switchинструкция 
Применение

switch (expression) {
	caseClause: 
	[defaultClause:] 
}

Приводит к передаче управления одной из нескольких инструкций в зависимости от значения выражения. Все инструкции switch должны включать в себя блок по умолчанию, который будет выполняться, если ни одна из инструкций case не соответствует выражению. Каждая инструкция case должна заканчиваться инструкцией break, что предотвращает ошибку прохода при невыполнении условия. При такой ошибке выполняется код в следующей инструкции case, даже если этот блок не соответствует проверяемому выражению.

Параметры
expression:* — Любое выражение.

Пример
Использование этого примера
В следующем примере определяется инструкция switch, которая переходит к блоку по умолчанию:
var switchExpression:int = 3;
		
switch (switchExpression) {
	case 0:
		trace(0);
		break;
	case 1:
		trace(1);
		break;
	case 2:
		trace(2);
		break;
	default:
		trace("Not 0, 1, or 2");
}

// Not 0, 1, or 2

Связанные элементы API

thisключевое слово первичного выражения 
Применение

this

Ссылка на объект, содержащий метод. При выполнении сценария ключевое слово this ссылается на объект, содержащий сценарий. В теле метода ключевое слово this ссылается на экземпляр класса, который содержит вызываемый метод.

Параметры

Пример
Использование этого примера
Для вызова функции, определенной в динамическом классе, ключевое слово this используется для вызова этой функции в соответствующей области видимости:
// incorrect version of Simple.as
/*
dynamic class Simple {
    function callfunc() {
        func();
    }
}
*/
// correct version of Simple.as
dynamic class Simple {
    function callfunc() {
        this.func();
    }
}
Добавьте в сценарий следующий код:
var simpleObj:Simple = new Simple();
simpleObj.func = function() {
	trace("hello there");
}
simpleObj.callfunc();
Предыдущий код работает при использовании ключевого слова this в методе callfunc(). Однако произошла бы синтаксическая ошибка при использовании неправильной версии Simple.as, которая была обозначена комментарием в примере выше.

throwинструкция 
Применение

throw expression 

Генерирует, или выбрасывает, ошибку, которая может быть обработана, или перехвачена, блоком кода catch. Если исключение не перехвачено блоком catch, строковое представление возвращенного значения отправляется на панель «Вывод». Если исключение не перехвачено блоком catch или блоком finally, строковое представление возвращенного значения отправляется на панель «Вывод».

Как правило, возвращаются экземпляры класса Error или его подклассов (см. раздел «Примеры»).

Параметры
expression:* — Выражение или объект ActionScript.

Пример
Использование этого примера
В данном примере функция с именем checkEmail() проверяет, является ли переданная ей строка верно отформатированным адресом электронной почты. Если строка не содержит символ @, функция выдает ошибку.
function checkEmail(email:String) { 
	if (email.indexOf("@") == -1) { 
		throw new Error("Invalid email address"); 
	} 
} 
checkEmail("someuser_theirdomain.com");
Затем следующий код вызывает ту же функцию, checkEmail(), с блоком кода try. Если строка не содержит действительный адрес электронной почты, инструкция trace выдает сообщение об ошибке.
try { 
	checkEmail("Joe Smith"); 
} 
catch (e) { 
	trace(e); 
}
// Error: Invalid email address.
В следующем примере возвращается подкласс класса Error. Функция checkEmail() изменяется, чтобы возвратить экземпляр этого подкласса.
// Define Error subclass InvalidEmailError 
class InvalidEmailAddress extends Error { 
    public function InvalidEmailAddress() {
    	message = "Invalid email address."; 
    }
}
Введите в сценарий следующий код:
import InvalidEmailAddress; 
function checkEmail(email:String) { 
	if (email.indexOf("@") == -1) { 
		throw new InvalidEmailAddress(); 
	} 
} 
try { 
	checkEmail("Joe Smith"); 
} 
catch (e) { 
	trace(e);
}
// Error: Invalid email address.

Связанные элементы API

trueключевое слово первичного выражения 
Применение

true

Логическое значение, представляющее true. Логическим значением становится либо true, либо false, причем значения true и false являются противоположными. Если в процессе автоматической типизации данных true преобразуется в число, то оно становится 1; при преобразовании true в строку, оно принимает вид "true".

Параметры

Пример
Использование этого примера
Следующий пример иллюстрирует использование значения true в инструкции if:
var shouldExecute:Boolean;
// ...
// code that sets shouldExecute to either true or false goes here
// shouldExecute is set to true for this example:

shouldExecute = true;

if (shouldExecute == true) {
    trace("your statements here");
}

// true is also implied, so the if statement could also be written:
// if (shouldExecute) {
//         trace("your statements here");
// }
В следующем примере показано преобразование true в число 1 во время процесса автоматической типизации:
var myNum:Number;
myNum = 1 + true;
trace(myNum); // 2

Связанные элементы API

try..catch..finallyинструкция 
Применение

try { 
    // try block 
} finally { 
    // finally block  
} 

try { 
    // try block 
} catch(error[:ErrorType1]) {
    // catch block 
} [catch(error[:ErrorTypeN]) { 
    // catch block 
}] [finally {
    // finally block 
}]

Обрамляет блок кода, в котором может произойти ошибка, затем реагирует на ошибку. Обработка исключений, реализованная с использованием инструкций try..catch..finally, является основным механизмом обработки ошибок времени выполнения в ActionScript 3.0. Когда возникает ошибка времени выполнения, Flash Player выдает исключение, то есть Flash Player прекращает нормальное выполнение кода и создает специальный объект типа Error. Затем проигрыватель Flash Player передает, или выбрасывает, объект ошибки первому доступному блоку catch. Если доступных блоков catch нет, исключение считается неперехваченным. Неперехваченные исключения прерывают выполнение сценария.

Инструкцию throw можно использовать для возврата исключений в коде явным образом. Рекомендуется возвращать объект, так как это обеспечивает гибкость и соответствует поведению проигрывателя Flash Player.

Для перехвата исключения, возвращенного проигрывателем Flash Player или пользовательским кодом, вставьте код, который может выдать исключение в блоке try. Если какой-либо код в блоке try выдаст исключение, управление передается блоку catch при его наличии, затем блоку finally, если такой существует. Блок finally всегда выполняется, независимо от того, было ли возвращено исключение. Если код в блоке try не выдает исключение (т.е. при нормальном выполнении блока try), код в блоке catch игнорируется, но код в блоке finally все же выполняется. Блок finally выполняется, даже если блок try завершается инструкцией return.

За блоком try должен следовать блок catch, блок finally или и тот, и другой. Один блок try может содержать несколько блоков catch, но только один блок finally. Можно вложить столько уровней блока try, сколько нужно.

Параметр error, заданный в обработчике catch, должен быть простым идентификатором, например, e или theException илиx. Параметр может быть типизированным. При использовании с несколькими блоками catch типизированные параметры позволяют перехватывать различные типы объектов ошибок, возвращенные одним блоком try.

Если возвращенное исключение является объектом, совпадение типов произойдет, если возвращенный объект является подклассом указанного типа. Если возвратилась ошибка конкретного типа, выполняется блок catch, обрабатывающий соответствующие ошибки. Если возвращено исключение не указанного типа, блок catch не выполняется, и исключение автоматически передается из блока try соответствующему обработчику catch.

Если ошибка произошла в функции, которая не содержит обработчик catch, Flash Player завершает выполнение этой функции, а также вызывающих функций, пока не будет найден блок catch. Во время этого процесса обработчики finally вызываются на всех уровнях.

Примечание. Если в блоке try имеется диспетчер событий, который вызывает обработчик событий, блок catch не перехватывает ошибку, если ее выдает обработчик событий. Любую ошибку, выданную после этого момента, можно перехватить, прослушивая LoaderInfo.uncaughtErrorEvents.

Параметры
error:* — Выражение, возвращенное инструкцией throw; как правило, это экземпляр класса Error или один из его подклассов.

Пример
Использование этого примера
Следующий пример иллюстрирует использование инструкции try..catch. Код в блоке try содержит недопустимую операцию. Спрайт не может добавить себя в качестве дочернего объекта. В результате проигрыватель Flash Player выдает исключение и передает объект типа ArgumentError соответствующему блоку catch.
import flash.display.Sprite;

var spr:Sprite = new Sprite();
try {
	spr.addChild(spr);
}
catch (e:ArgumentError) {
	trace (e); // ArgumentError: Error #2024: An object may not be added as a child of itself.
}
В следующем примере объекты RecordSetException и MalformedRecord являются подклассами класса Error.
class RecordSetException extends Error { 
	public function RecordSetException () {
		message = "Record set exception occurred."; 
	}
}

class MalformedRecord extends Error { 
	public function MalformedRecord {
		message = "Malformed record exception occurred."; 
	}
}
В методе sortRows() класса RecordSet возвращается один из ранее определенных объектов ошибки в зависимости от типа исключения. В следующем примере показано, как может выглядеть такой код:
class RecordSet { 
	public function sortRows() { 
		var returnVal:Number = randomNum(); 
		if (returnVal == 1) { 
			throw new RecordSetException(); 
		} 
		else if (returnVal == 2) { 
			throw new MalformedRecord(); 
		} 
	}
	public function randomNum():Number { 
		return Math.round(Math.random() * 10) % 3; 
	}
}
Наконец, следующий код вызывает метод sortRows() для экземпляра класса RecordSet. Он определяет блоки catch для каждого типа объекта ошибки, возвращаемого методом sortRows().
import RecordSet; 
var myRecordSet:RecordSet = new RecordSet();
try { 
	myRecordSet.sortRows(); 
	trace("everything is fine"); 
} 
catch (e:RecordSetException) { 
	trace(e.toString()); 
} 
catch (e:MalformedRecord) { 
	trace(e.toString()); 
}

Связанные элементы API

use namespaceдиректива 
Применение

use namespace ns1[, ns2, ...nsN]

Приводит к добавлению заданных пространств имен в набор открытых пространств имен. Заданные пространства имен удаляются из набора открытых пространств имен при выходе из текущего блока кода. Директива use namespace может быть на верхнем уровне программы, определения пакета или определения класса.

Параметры
nsN:Namespace — Одно или несколько пространств имен, добавляемых в набор открытых пространств имен.

Связанные элементы API

varключевое слово определения 
Применение

var variableName [= value1][...,variableNameN[=valueN]] 

Задает переменную. При объявлении переменных в функции переменные становятся локальными. Они определяются для функции и прекращают действовать в конце вызова функции.

Невозможно объявить переменную, которая входит в область видимости другого объекта, как локальную.

my_array.length = 25; // ok 
var my_array.length = 25; // syntax error 

Переменной можно присвоить тип данных, добавив к ней двоеточие, за которым следует обозначение типа данных.

Можно объявить несколько переменных в одной инструкции, разделяя объявления запятыми (хотя такой синтаксис может ухудшить ясность кода):

var first:String = "Bart", middle:String = "J.", last:String = "Bartleby";

Параметры
variableName:* — Идентификатор.

Пример
Использование этого примера
Следующий сценарий ActionScript создает новый массив названий продуктов. Array.push добавляет элемент в конец массива.
var product_array:Array = new Array("Studio", "Dreamweaver", "Flash", "ColdFusion", "Contribute", "Breeze"); 
product_array.push("Flex"); 
trace(product_array); 
// Studio,Dreamweaver,Flash,ColdFusion,Contribute,Breeze,Flex

Связанные элементы API

whileинструкция 
Применение

while (condition) { 
	// statement(s)
}

Вычисляет условие и, если получено значение true, выполняет инструкцию или набор инструкций перед возвращением по циклу к повторному вычислению условия. Если в результате вычисления условия получено значение false, инструкции не выполняются, и цикл завершается.

Инструкция while выполняет следующую серию действий. Каждое повторение шагов с 1 по 4 называется итерацией цикла. Условие проверяется в начале каждой итерации, как показано ниже:

  1. Выражение condition вычисляется.
  2. Если выражение condition принимает значение true или значение, которое может быть преобразовано в логическое значение true, например число, отличное от нуля, выполняется переход к шагу 3. В противном случае завершается инструкция while, и выполнение возобновляется со следующей инструкции после цикла while.
  3. Выполните блок инструкций statement(s). При появлении инструкции continue пропустите оставшиеся инструкции и перейдите к шагу 1. При появлении инструкции break завершается инструкция while, и выполнение возобновляется со следующей инструкции после цикла while.
  4. Перейдите к шагу 1.

Зацикливание обычно используется для выполнения действия до тех пор, пока переменная counter меньше заданного значения. В конце каждого цикла счетчик увеличивается на единицу до тех пор, пока не будет получено заданное значение. При этом выражение condition не принимает значение true, и цикл завершается.

Фигурные скобки ({}), в которых заключены инструкции для выполнения инструкцией while, не требуются при выполнении только одной инструкции.

Параметры
condition:Boolean — Выражение, принимающее значение true или false.

Пример
Использование этого примера
В следующем примере инструкция while используется для проверки выражения. Когда значение i меньше 20, выполняется трассировка значенияi. Когда условие перестает принимать значение true, цикл завершается.
var i:Number = 0; 
while (i < 20) { 
	trace(i); 
	i += 3; 
}
/*
0 
3 
6 
9 
12
15 
18
*/

Связанные элементы API

withинструкция 
Применение

with (object:Object) { 
	// statement(s)
}

Устанавливает объект по умолчанию, который используется при выполнении одной или нескольких инструкций, потенциально сокращая размер кода, который будет написан.

Параметр object становится контекстом, в котором считываются свойства, переменные и функции в параметре statement(s). Например, если object является my_array, для которого заданы свойства length и concat, эти свойства автоматически считываются как my_array.length и my_array.concat. Или если object является state.california, любые действия или инструкции в инструкции with вызываются из экземпляра california.

ActionScript начинает поиск значения идентификатора в параметре statement(s) с начала цепочки областей видимости, заданной объектом object, и выполняет поиск идентификатора на каждом уровне этой цепочки в определенном порядке.

Цепочка областей видимости, используемая в инструкции with для разрешения идентификаторов, начинается с первого элемента следующего списка и заканчивается последним элементом:

  • Объект, заданный параметром object в наиболее глубоко вложенной инструкции with
  • Объект, заданный параметром object в самой ближней внешней инструкции with
  • Объект Activation (временный объект, создаваемый автоматически при вызове сценарием функции, содержащей локальные переменные, вызываемые функцией)
  • Объект, содержащий сценарий, который выполняется в данный момент
  • Объект Global (встроенные объекты, например Math и String)

Чтобы задать переменную в инструкции with, необходимо предварительно объявить переменную за пределами инструкции with или ввести полный путь к временной шкале, на которой будет находиться переменная. Если задать переменную в инструкции with без ее объявления, инструкция with будет выполнять поиск значения в соответствии с цепочкой областей видимости. Если переменная еще не существует, то временной шкале, из которой была вызвана инструкция with, будет задано новое значение.

Параметры
object:Object — Экземпляр объекта ActionScript или фрагмент ролика.

Пример
Использование этого примера
Следующий код задает свойства _x и _y экземпляра someOther_mc, затем предписывает someOther_mc перейти к Кадру 3 и остановиться. with (someOther_mc) { _x = 50; _y = 100; gotoAndStop(3); } Следующий фрагмент кода иллюстрирует написание предшествующего кода без использования инструкции with. someOther_mc._x = 50; someOther_mc._y = 100; someOther_mc.gotoAndStop(3); Инструкция with используется для доступа к нескольким элементам в списке цепочки областей видимости одновременно. В следующем примере встроенный объект Math помещается в начало цепочки областей видимости. Установка Math в качестве объекта по умолчанию разрешает идентификаторы cos, sin и PI в Math.cos, Math.sin и Math.PI соответственно. Идентификаторы a, x, y и r не являются методами или свойствами объекта Math, но поскольку они существуют в области активации объекта функции polar(), они разрешаются в соответствующие локальные переменные.
function polar(r:Number):void { 
	var a:Number, x:Number, y:Number; 
	with (Math) { 
		a = PI * pow(r, 2); 
		x = r * cos(PI); 
		y = r * sin(PI / 2); 
	} 
	trace("area = " + a); 
	trace("x = " + x); 
	trace("y = " + y); 
} polar(3);
/* 
area = 28.2743338823081 
x = -3 
y = 3
*/

[ X ]Почему по-английски?
Содержимое Справочника ActionScript 3.0 отображается на английском языке

Не все части Справочника ActionScript 3.0 переводятся на все языки. Если какой-то текстовый элемент не переведен, он отображается на английском языке. Например, компонент ga.controls.HelpBox не переведен ни на один из языков. Это значит, что в русской версии справки компонент ga.controls.HelpBox будет отображаться на английском языке.