ActionScript® 3.0 Referenzhandbuch für die Adobe® Flash®-Plattform
Home  |  Liste der Pakete und Klassen ausblenden |  Pakete  |  Klassen  |  Neue Funktionen  |  Stichwortverzeichnis  |  Anhänge  |  Warum auf Englisch?
Filter: AIR 30.0 und früher, Flash Player 30.0 und früher, Flash Lite 4
Flex 4.6 und früher, Flash Pro CS6 und früher
Filter ausblenden
 

Anweisungen, Schlüsselwörter und Direktiven 

Paketex

Oberste Ebene
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

Sprachelemente

Globale Konstanten
Globale Funktionen
Operatoren
Anweisungen, Schlüsselwörter und Direktiven
Sondertypen

Anhänge

Neue Funktionen
Compiler-Fehler
Compiler-Warnungen
Laufzeitfehler
Migration zu ActionScript 3
Unterstützte Zeichensätze
Nur MXML-Tags
Motion-XML-Elemente
Timed Text-Tags
Liste veralteter Elemente
Konstanten für die Implementierung von Eingabehilfen
Verwendung der ActionScript-Beispiele
Rechtliche Hinweise

Klassen 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

Anweisungen sind Sprachelemente, mit denen eine Aktion zur Laufzeit ausgeführt oder angegeben wird. Die Anweisung return gibt beispielsweise einen Wert als Ergebnis der Funktion zurück, in der sie ausgeführt wird. Die Anweisung if testet eine Bedingung, um festzustellen, welche Aktion als nächste auszuführen ist. Die Anweisung switch erstellt eine Verzweigungsstruktur für ActionScript-Anweisungen.

Schlüsselwörter für Attribute ändern die Bedeutung von Definitionen und können auf Definitionen von Klassen, Variablen, Funktionen und Namespaces angewendet werden. Schlüsselwörter für Definitionen dienen zum Definieren von Einheiten wie z. B. Variablen, Funktionen, Klassen und Schnittstellen. Schlüsselwörter für Primärausdrücke stellen Literalwerte dar. Eine Liste der reservierten Wörter finden Sie im ActionScript 3.0 – Arbeitshandbuch.

Direktiven enthalten Anweisungen und Definitionen und können während der Kompilierung oder zur Laufzeit angewendet werden. Direktiven, bei denen es sich weder um Anweisungen noch um Definitionen handelt, werden in der folgenden Tabelle als Direktiven bezeichnet.


 Primärausdruck-Schlüsselwort
 falseEin boolescher Wert, der „false“ (falsch) darstellt.
 nullEin Sonderwert, der Variablen zugewiesen werden kann oder von einer Funktion zurückgegeben wird, wenn keine Daten angegeben wurden.
 thisEin Verweis auf das in einer Methode enthaltene Objekt.
 trueEin boolescher Wert, der „true“ (wahr) darstellt.
 Anweisung
 breakErscheint in einer Schleife (for, for..in, for each..in, do..while oder while) oder in einem Block von Anweisungen, die mit einem bestimmten Fall in einer switch-Anweisung verknüpft sind.
 caseDefiniert ein Sprungziel für die switch-Anweisung.
 continueÜberspringt sämtliche verbleibenden Anweisungen in der innersten Schleife und beginnt die nächste Iteration der Schleife, als wäre das Ende der Schleife normal erreicht worden.
 defaultDefiniert die Standardbedingung für die switch-Anweisung.
 do..whileÄhnelt einer while-Schleife, nur werden die Anweisungen vor der ersten Auswertung der Bedingung einmal ausgeführt.
 elseGibt die Anweisungen an, die ausgeführt werden, wenn die Bedingung in der if-Anweisung false zurückgibt.
 forWertet den Ausdruck init (initialisieren) einmal aus und beginnt dann eine Schleifensequenz.
 for..inDurchläuft die dynamischen Eigenschaften eines Objekts bzw. die Elemente in einem Array und führt die Anweisung statement für jede Eigenschaft bzw. jedes Element aus.
 for each..inDurchläuft die Elemente in einer Sammlung und führt statement für jedes Element aus.
 ifWertet eine Bedingung aus, um die nächste auszuführende Anweisung festzulegen.
 labelVerknüpft eine Anweisung mit einem Bezeichner, auf den mithilfe von break oder continue verwiesen werden kann.
 returnZwingt die Ausführung, unmittelbar zur aufrufenden Funktion zurückzukehren.
 superRuft die Superclass- oder übergeordnete Version einer Methode oder eines Konstruktors auf.
 switchFührt abhängig vom Wert eines Ausdrucks dazu, dass die Steuerung an eine von mehreren Anweisungen übergeben wird.
 throwErzeugt bzw. gibt einen Fehler aus, der durch einen catch-Codeblock abgefangen werden kann.
 try..catch..finallySchließt einen Codeblock ein, in dem ein Fehler auftreten kann, und reagiert anschließend auf den Fehler.
 whileWertet eine Bedingung aus. Ergibt die Bedingung den Wert true, wird mindestens eine Anweisung ausgeführt, bevor die Logik zum Beginn der Schleife zurückkehrt und die Bedingung erneut auswertet.
 withRichtet ein Standardobjekt ein, das für die Ausführung einer oder mehrerer Anweisungen verwendet werden soll. Auf diese Weise reduzieren Sie die Menge an Code, die geschrieben werden muss.
 Attribut-Schlüsselwort
 dynamicGibt an, dass Klasseninstanzen dynamische Eigenschaften besitzen können, die zur Laufzeit hinzugefügt werden.
 finalGibt an, dass eine Methode nicht außer Kraft gesetzt oder eine Klasse nicht erweitert werden kann.
 internalGibt an, dass eine Klasse, Variable, Konstante oder Funktion jedem aufrufenden Objekt im gleichen Paket zur Verfügung steht.
 nativeGibt an, dass eine Funktion oder Methode im nativen Code von Flash Player implementiert wird.
 overrideGibt an, dass eine Methode eine übernommene Methode ersetzt.
 privateGibt an, dass eine Variable, Konstante, Methode oder ein Namespace nur für die sie definierende Klasse verfügbar ist.
 protectedGibt an, dass eine Variable, Konstante, Methode oder ein Namespace nur für die sie definierende Klasse und allen Unterklassen dieser Klasse verfügbar ist.
 publicGibt an, dass eine Klasse, Variable, Konstante oder Methode für jedes aufrufende Objekt verfügbar ist.
 staticGibt an, dass eine Variable, Konstante oder Methode zu der Klasse und nicht zu Instanzen dieser Klasse gehört.
 Definitions-Schlüsselwort
 ... (rest) parameterGibt an, dass eine Funktion eine beliebige Anzahl von durch Kommata getrennten Argumenten akzeptiert.
 classDefiniert eine Klasse, mit der Objekte instanziiert werden können, die benutzerdefinierte Methoden und Eigenschaften gemeinsam verwenden.
 constGibt eine Konstante an, bei der es sich um eine Variable handelt, der nur einmal ein Wert zugewiesen werden kann.
 extendsDefiniert eine Klasse, die eine Unterklasse einer anderen Klasse ist.
 functionUmfasst eine Gruppe von Anweisungen, die zur Ausführung einer bestimmten Aufgabe definiert werden.
 getDefiniert eine get-Methode. Dies ist eine Methode, die wie eine Eigenschaft gelesen werden kann.
 implementsGibt an, das eine Klasse mindestens eine Schnittstelle implementiert.
 interfaceDefiniert eine Schnittstelle.
 namespaceErmöglicht Ihnen, die Sichtbarkeit von Definitionen zu bestimmen.
 packageErmöglicht Ihnen das Strukturieren Ihres Code in diskreten Gruppen, die von anderen Skripts importiert werden können.
 setDefiniert eine set-Methode. Dies ist eine Methode, die in der öffentlichen Schnittstelle als eine Eigenschaft erscheint.
 varGibt eine Variable an.
 Direktive
 default xml namespace Die Direktive default xml namespace richtet den mit XML-Objekten zu verwendenden Standard-Namespace ein.
 importStellt extern definierte Klassen und Pakete für Ihren Code zur Verfügung.
 includeBezieht den Inhalt der angegebenen Datei so ein, als wären die Befehle in der Datei Teil des aufrufenden Skripts.
 use namespaceFührt dazu, dass die angegebenen Namespaces zum Satz der offenen Namespaces hinzuaddiert werden.
  Namespaces
 AS3Definiert Methoden und Eigenschaften der ActionScript-Hauptklassen, bei denen es sich um feste Eigenschaften und nicht um Prototypeigenschaften handelt.
 flash_proxyDefiniert Methoden der Proxy-Klasse.
 object_proxyDefiniert Methoden der ObjectProxy-Klasse.
Details zu Anweisungen, Schlüsselwörtern und Direktiven
... (rest) parameterDefinitions-Schlüsselwort
Verwendung

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

Gibt an, dass eine Funktion eine beliebige Anzahl von durch Kommata getrennten Argumenten akzeptiert. Die Liste der Argumente wird zu einem Array, das über den Hauptteil der Funktion verfügbar ist. Der Name des Array wird hinter den Zeichen ... in der Parameterdeklaration angegeben. Der Parameter kann jeden Namen annehmen, der kein reserviertes Wort ist.

Bei der Verwendung zusammen mit anderen Parametern muss der Parameter ... (rest) als letzter angegeben werden. Das ... (rest)-Parameterarray wird nur dann aufgefüllt, wenn die Anzahl der an die Funktion übergebenen Argumente die Anzahl der anderen Parameter übersteigt.

Jedes Argument in einer durch Kommata getrennten Argumentliste wird in ein Element des Arrays eingefügt. Wenn Sie eine Instanz der Array-Klasse übergeben, wird das gesamte Array in ein einzelnes Element des ... (rest)-Parameterarrays platziert.

Wenn Sie diesen Parameter verwenden, steht das Objekt arguments nicht mehr zur Verfügung. Obwohl Ihnen der Parameter ... (rest) die gleichen Funktionsmerkmale wie das arguments-Array und die arguments.length-Eigenschaft zur Verfügung stellt, verfügt er nicht über die Funktionsmerkmale, die Ihnen von arguments.callee bereitgestellt werden. Bevor Sie den ... (rest)-Parameter einsetzen, stellen Sie sicher, dass Sie arguments.callee nicht verwenden müssen.

Parameter
rest:* — Ein Bezeichner, der den Namen des Argumentarrays darstellt, das an die Funktion übergeben wurde. Der Parameter muss nicht rest genannt werden; Sie können jeden Namen verwenden, der kein Schlüsselwort darstellt. Sie können den Datentyp des Parameters ... (rest) als Array festlegen. Dies kann jedoch zu Verwirrung führen, da der Parameter eine durch Kommata getrennte Werteliste akzeptiert. Dieses Verhalten ist nicht mit dem einer Instanz der Array-Klasse identisch.

Beispiel
Verwendung dieses Beispiels
Im folgenden Beispiel wird der Parameter „... (rest)“ in zwei verschiedenen Funktionen verwendet. Die erste Funktion traceParams ruft einfach die trace()-Funktion für jedes Argument im rest-Array auf. Die zweite Funktion average() wertet die Argumentliste aus und gibt den Durchschnittswert zurück. Außerdem verwendet die zweite Funktion einen anderen Namen (args) für den Parameter.
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);
}

Verwandte API-Elemente

AS3 Namespaces  

Definiert Methoden und Eigenschaften der ActionScript-Hauptklassen, bei denen es sich um feste Eigenschaften und nicht um Prototypeigenschaften handelt. Wenn Sie die Compileroption „-as3“ auf true setzen (Standardeinstellung in Flex Builder 2), wird der ActionScript 3.0-Namespace automatisch für alle Hauptklassen geöffnet. Dies bedeutet, dass eine Instanz der Hauptklasse feste Eigenschaften und Methoden anstelle der Versionen dieser Eigenschaften und Methoden verwendet, die an das Prototypobjekt das Klasse angefügt sind. Die Verwendung der festen Eigenschaften bietet in der Regel eine bessere Leistung, jedoch auf Kosten der Abwärtskompatibilität zur ECMAScript-Sprachspezifikation in der Ausgabe 3 (ECMA-262).

Parameter

Verwandte API-Elemente

breakAnweisung 
Verwendung

break [label]

Erscheint in einer Schleife (for, for..in, for each..in, do..while oder while) oder in einem Block von Anweisungen, die mit einem bestimmten Fall in einer switch-Anweisung verknüpft sind. Bei Verwendung in einer Schleift weist die break-Anweisung Flash an, den Rest des Schleifenhauptteils zu überspringen und die Anweisung auszuführen, die nach der Schleife folgt. Im Zusammenhang mit switch weist die break-Anweisung Flash an, die verbleibenden Anweisungen in diesem case-Block zu überspringen und zur ersten Anweisung zu springen, die auf die einschließende switch-Anweisung folgt.

Bei verschachtelten Schleifen überspringt break lediglich den Rest der unmittelbaren Schleife, bricht aber nicht aus der gesamten Serie der verschachtelten Schleifen aus. Informationen zum Ausbrechen aus verschachtelten Schleifen finden Sie im Abschnitt zu label oder try..catch..finally.

Die Anweisung break kann eine optionale Bezeichnung aufweisen, die mit der Bezeichnung einer äußeren Anweisung übereinstimmen muss. Die Verwendung einer Bezeichnung, die nicht mit der Bezeichnung einer äußeren Anweisung übereinstimmt, erzeugt einen Syntaxfehler. break-Anweisungen mit Bezeichnungen können zum Ausbrechen auf verschiedenen Ebenen von verschachtelten Schleifenanweisungen, switch-Anweisungen oder block-Anweisungen verwendet werden. Ein Beispiel finden Sie im Eintrag für die label-Anweisung.

Parameter
label:* — Der Name einer Bezeichnung, die mit einer Anweisung verknüpft ist.

Beispiel
Verwendung dieses Beispiels
In dem folgenden Beispiel wird break verwendet, um eine Endlosschleife zu verlassen:
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*/

Verwandte API-Elemente

caseAnweisung 
Verwendung

case jumpTarget: statements

Definiert ein Sprungziel für die switch-Anweisung. Wenn bei einem Vergleich mithilfe des strikten Gleichheitsoperators (===) der Parameter jumpTarget mit dem Parameter expression der switch-Anweisung übereinstimmt, führt Flash Player die im Parameter statements enthaltenen Anweisungen aus, bis entweder eine break-Anweisung oder das Ende der switch-Anweisung erreicht wird.

Wenn Sie das Schlüsselwort case außerhalb einer switch-Anweisung verwenden, wird ein Fehler ausgegeben und das Skript nicht kompiliert.

Parameter
jumpTarget:* — Ein beliebiger Ausdruck.
statements:* — Die Anweisungen werden nur ausgeführt, wenn jumpTarget dem konditionalen Ausdruck in der switch-Anweisung entspricht.

Beispiel
Verwendung dieses Beispiels
Im folgenden Beispiel werden die Sprungziele für die switch-Anweisung thisMonth definiert. Wenn thisMonth mit dem Ausdruck in der case-Anweisung übereinstimmt, wird die Anweisung ausgeführt.
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"); 
}

Verwandte API-Elemente

classDefinitions-Schlüsselwort 
Verwendung

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

Definiert eine Klasse, mit der Objekte instanziiert werden können, die benutzerdefinierte Methoden und Eigenschaften gemeinsam verwenden. Wenn Sie beispielsweise ein Rechnungserfassungssystem entwickeln, können Sie eine Rechnungsklasse erstellen, die alle Methoden und Eigenschaften definiert, die eine Rechnung beinhalten soll. Anschließend erstellen Sie mit dem Befehl new Invoice() die einzelnen Rechnungsobjekte.

Jede ActionScript-Quelldatei kann nur eine Klasse enthalten, die für andere Quelldateien oder Skripts sichtbar ist. Bei der extern sichtbaren Klasse kann es sich um eine öffentliche oder interne Klasse handeln und sie muss in einer Paketanweisung definiert sein. Wenn Sie weitere Klassen in die gleiche Datei aufnehmen, müssen die Klassen außerhalb der Paketanweisung und am Ende der Datei platziert werden.

Der Name der extern sichtbaren Klasse muss mit dem Namen der ActionScript-Quelldatei übereinstimmen, die diese Klasse enthält. Der Name der Quelldatei muss dem Klassennamen mit der angehängten Endung „.as“ entsprechen. Wenn Sie beispielsweise einer Klasse den Namen Student geben, muss die Datei, die die Klasse definiert, den Namen Student.as erhalten.

Klassendefinitionen können nicht verschachtelt werden, d. h., Sie können innerhalb einer Klassendefinition keine zusätzlichen Klassen definieren.

Sie können eine Konstruktormethode definieren. Diese Methode wird stets ausgeführt, wenn eine neue Instanz der Klasse erstellt wird. Der Name der Konstruktormethode muss mit dem Namen der Klasse übereinstimmen. Wenn Sie keine Konstruktormethode definieren, wird ein Standardkonstruktor erstellt.

Um anzugeben, dass Objekte zur Laufzeit dynamische Eigenschaften hinzufügen und auf diese zugreifen können, stellen Sie der Klassenanweisung das Schlüsselwort dynamic voran. Wenn Sie deklarieren möchten, dass eine Klasse eine Schnittstelle implementiert, verwenden Sie das Schlüsselwort implements. Um Unterklassen einer Klasse zu erstellen, verwenden Sie das Schlüsselwort extends. (Eine Klasse kann nur eine Klasse erweitern, kann jedoch mehrere Schnittstellen implementieren.) Die Schlüsselwörter implements und extends können zusammen in einer Anweisung verwendet werden. Die folgenden Codes enthalten typische Beispiele für die Verwendung der Schlüsselwörter implements und 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 

Parameter
className:Class — Der vollständig qualifizierte Name der Klasse.

Beispiel
Verwendung dieses Beispiels
Im folgenden Beispiel wird eine Klasse namens Plant erstellt. Der Konstruktor von Plant verfügt über zwei Parameter.
// 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; 
	} 
  }
}
Verwenden Sie den Operator new in Ihrem Skript, um ein Plant-Objekt zu erstellen.
var pineTree:Plant = new Plant("Evergreen", "N/A"); 
// Confirm parameters were passed correctly 
trace(pineTree.leafType); 
trace(pineTree.bloomSeason); 

Verwandte API-Elemente

constDefinitions-Schlüsselwort 
Verwendung

const identifier = value 

Gibt eine Konstante an, bei der es sich um eine Variable handelt, der nur einmal ein Wert zugewiesen werden kann.

Sie können eine Konstante strikt typisieren, indem Sie einen Doppelpunkt (:) gefolgt von dem Datentyp anhängen.

Parameter
identifier:* — Ein Bezeichner für eine Konstante.

Beispiel
Verwendung dieses Beispiels
In dem folgenden Beispiel wird ein Fehler gezeigt, der auftritt, wenn Sie versuchen, einer Konstanten mehrmals einen Wert zuzuweisen.
const MIN_AGE:int = 21;
MIN_AGE = 18; // error
Das folgende Beispiel zeigt, dass wenn es sich bei der Konstanten um ein Array handelt, Sie weiterhin die Methoden der Array-Klasse aufrufen können, einschließlich Array.push(). Sie können jedoch kein neues Arrayliteral zuweisen.
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); 

Verwandte API-Elemente

continueAnweisung 
Verwendung

continue [label]

Überspringt sämtliche verbleibenden Anweisungen in der innersten Schleife und beginnt die nächste Iteration der Schleife, als wäre das Ende der Schleife normal erreicht worden. Die Anweisung continue hat außerhalb einer Schleife keine Auswirkungen. In verschachtelten Schleifen können Sie den optionalen Parameter label verwenden, um mehr als nur die innerste Schleife zu überspringen.

Die Anweisung continue kann eine optionale Bezeichnung aufweisen, die mit der Bezeichnung einer äußeren Anweisung übereinstimmen muss. Die Verwendung einer Bezeichnung, die nicht mit der Bezeichnung einer äußeren Anweisung übereinstimmt, erzeugt einen Syntaxfehler. continue-Anweisungen mit Bezeichnungen können zum Überspringen mehrerer Ebenen von verschachtelten Schleifenanweisungen verwendet werden.

Parameter

Beispiel
Verwendung dieses Beispiels
In der folgenden while-Schleife dient die Anweisung continue dazu, beim Auftreten eines Vielfachen von 3 den restlichen Teil der Schleife zu übergehen und an den Anfang der Schleife zu springen, wo die Bedingung geprüft wird:
var i:int = 0; 
while (i < 10) { 
	if (i % 3 == 0) { 
		i++; 
		continue; 
	} 
	trace(i); 
	i++; 
}
In einer for-Schleife kann die Anweisung continue auch dazu verwendet werden, den restlichen Teil der Schleife zu überspringen. Wenn im folgenden Beispiel i % 3 den Wert 0 (Null) ergibt, wird die Anweisung trace(i) übergangen:
 
for (var i:int = 0; i < 10; i++) { 
	if (i % 3 == 0) { 
		continue; 
	} 
	trace(i); 
}

Verwandte API-Elemente

defaultAnweisung 
Verwendung

default: statements 

Definiert die Standardbedingung für die switch-Anweisung. Die Anweisungen werden ausgeführt, wenn der Parameter expression der Anweisung switch bei Vergleich mit dem strikten Gleichheitsoperator [===] mit keinem der Parameter von expression identisch ist, die auf die case-Schlüsselwörter in einer -switch-Anweisung folgen.

In einer switch-Anweisung ist eine default-Bedingungsanweisung nicht unbedingt erforderlich. Eine default-Bedingungsanweisung muss in der Liste auch nicht an letzter Stelle stehen. Wenn Sie die Anweisung default außerhalb einer switch-Anweisung verwenden, wird ein Fehler ausgegeben und das Skript nicht kompiliert.

Parameter
statements:* — Beliebige Anweisungen.

Beispiel
Verwendung dieses Beispiels
In dem folgenden Beispiel wird an einem Sonnabend oder Sonntag keine der case-Anweisungen ausgeführt, und die Ausführung geht zur nächsten default-Anweisung über.
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"); 
}

Verwandte API-Elemente

default xml namespaceDirektive 
Verwendung

default xml namespace = ns

Die Direktive default xml namespace richtet den mit XML-Objekten zu verwendenden Standard-Namespace ein.

Wenn Sie die default xml namespace nicht einrichten, ist der Standard-Namespace der unbenannte Namespace (bei dem der URI auf eine leere Zeichenfolge gesetzt ist). Der Gültigkeitsbereich einer default xml namespace-Deklaration erstreckt sich über einen Funktionsblock. Dies entspricht dem Gültigkeitsbereich einer Variablen.

Parameter

Beispiel
Verwendung dieses Beispiels
Das folgende Beispiel zeigt, dass der Gültigkeitsbereich von default xml namespace ein Funktionsblock ist:
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());

}
Die Ausgabe trace() für dieses Beispiel ist: x1 ns: http://www.example.com/namespaces/ x3 ns: x4 ns: http://schemas.xmlsoap.org/soap/envelope/ x2 ns: http://www.example.com/namespaces/ Im folgenden Beipiel wird default xml namespace für die Zuweisung des Standard-Namespace verwendet. Das zweite XML-Objekt (x2) verwendet diese Einstellung nicht, da x2 seinen eigenen Standard-Namespace definiert:
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/

Verwandte API-Elemente

do..whileAnweisung 
Verwendung

do { statement(s) } while (condition)

Ähnelt einer while-Schleife, nur werden die Anweisungen vor der ersten Auswertung der Bedingung einmal ausgeführt. Dann werden die Anweisungen nur ausgeführt, wenn die Bedingung true ergibt.

Eine do..while-Schleife stellt sicher, dass der Code der Schleife mindestens einmal ausgeführt wird. Dies kann zwar auch mit einer while-Schleife erreicht werden, indem die auszuführenden Anweisungen einmal vor die while-Schleife kopiert werden. Viele Programmierer sind jedoch der Ansicht, dass do..while-Schleifen leichter zu lesen sind.

Wenn die Bedingung immer als true, ausgewertet wird, ist die do..while-Schleife endlos. Bei Endlosschleifen werden Sie unter Umständen Probleme mit Flash Player feststellen: Entweder Sie erhalten schließlich eine Fehlermeldung oder der Player stürzt ab. Wenn Sie vorher wissen, wie oft eine Schleife durchlaufen werden soll, sollten Sie nach Möglichkeit eine for-Schleife verwenden. Obwohl for-Schleifen leicht zu lesen und zu debuggen sind, können sie die do..while-Schleifen nicht unter allen Umständen ersetzen.

Parameter
condition:Boolean — Die auszuwertende Bedingung. Die statement(s) innerhalb des do-Codeblocks werden ausgeführt, solange der Parameter condition den Wert true ergibt.

Beispiel
Verwendung dieses Beispiels
Im folgenden Beispiel wird eine do..while-Schleife verwendet, um zu ermitteln, ob eine Bedingung true ist und um myVar zu verfolgen, bis myVar größer gleich 5 ist. Wenn myVar den Wert 5 erreicht oder übersteigt, wird die Schleife beendet.
var myVar:Number = 0; 
do { 
	trace(myVar); 
	myVar++; 
} 
while (myVar < 5); 
/*
0 
1 
2 
3 
4
*/

Verwandte API-Elemente

dynamicAttribut-Schlüsselwort 
Verwendung

dynamic class className { // class definition here }

Gibt an, dass Klasseninstanzen dynamische Eigenschaften besitzen können, die zur Laufzeit hinzugefügt werden. Wenn Sie einer Klasse das Attribut dynamic zuweisen, können den Instanzen dieser Klasse zur Laufzeit Eigenschaften hinzugefügt werden. Klassen, die nicht als dynamic gekennzeichnet sind, werden als sealed (versiegelt) betrachtet, dies bedeutet, dass den Klasseninstanzen keine Eigenschaften hinzugefügt werden können.

Bei einer versiegelten („sealed“) Klasse (also einer nicht dynamischen Klasse), erzeugen Versuche, Eigenschaften von Klasseninstanzen abzurufen und einzustellen, eine Fehlermeldung. Wenn der Compiler auf strikten Modus eingestellt ist und Sie Datentypen beim Erstellen von Instanzen angeben, wird bei dem Versuch, Eigenschaften zu versiegelten („sealed“) Objekten hinzuzufügen, ein Compiler-Fehler erzeugt; andernfalls tritt ein Laufzeitfehler auf.

Das Attribut dynamic kann von Unterklassen nicht übernommen werden. Wenn Sie eine dynamische Klasse erweitern, ist die Unterklasse nur dann dynamisch, wenn sie mit dem Attribut dynamic deklariert wird.

Parameter

Beispiel
Verwendung dieses Beispiels
Im folgenden Beispiel werden zwei Klassen erstellt, eine dynamische Klasse mit der Bezeichnung „Expando“ und eine versiegelte Klasse mit der Bezeichnung „Sealed“, die in den folgenden Beispielen verwendet werden.
package {

	dynamic class Expando  {
	}
	
	class Sealed {
	}
}
Im folgenden Beispiel wird eine Instanz der Expando-Klasse erstellt und gezeigt, dass Sie der Instanz Eigenschaften hinzufügen können.
var myExpando:Expando = new Expando();
myExpando.prop1 = "new";
trace(myExpando.prop1); // new
In dem folgenden Code wird eine Instanz der Sealed-Klasse erstellt und gezeigt, dass der Versuch, Eigenschaften hinzuzufügen, zu einem Fehler führt.
var mySealed:Sealed = new Sealed();
mySealed.prop1 = "newer"; // error

Verwandte API-Elemente

elseAnweisung 
Verwendung

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

Gibt die Anweisungen an, die ausgeführt werden, wenn die Bedingung in der if-Anweisung false zurückgibt. Die geschweiften Klammern ({}), die die von der else-Anweisung auszuführenden Anweisungen einschließen, sind nicht erforderlich, wenn nur eine Anweisung ausgeführt wird.

Parameter
condition:Boolean — Ein Ausdruck, der den Wert true oder false haben kann.

Beispiel
Verwendung dieses Beispiels
Im folgenden Beispiel wird mithilfe der else-Bedingung geprüft, ob die age_txt-Variable größer oder kleiner als 18 ist:
if (age_txt.text>=18) { 
	trace("welcome, user"); 
} 
else { 
	trace("sorry, junior"); 
	userObject.minor = true; 
	userObject.accessAllowed = false;
}
Im folgenden Beispiel können die geschweiften Klammern ({}) auch weggelassen werden, da nur eine Anweisung auf die else-Anweisung folgt:
if (age_txt.text>18) { 
	trace("welcome, user");
} 
else trace("sorry, junior");
In dem folgenden Beispiel wird eine Kombination der Anweisungen if und else verwendet, um score_txt mit einem bestimmten Wert zu vergleichen:
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"); 
}

Verwandte API-Elemente

extendsDefinitions-Schlüsselwort 
Verwendung

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

Definiert eine Klasse, die eine Unterklasse einer anderen Klasse ist. Die Unterklasse übernimmt alle Methoden, Eigenschaften, Funktionen usw., die in der übergeordneten Klasse definiert sind. Als final markierte Klassen können nicht erweitert werden.

Zur Erweiterung einer Schnittstelle können Sie auch das Schlüsselwort extends verwenden. Eine Schnittstelle, die eine andere Schnittstelle erweitert, enthält sämtliche Methodendeklarationen der ursprünglichen Schnittstelle.

Parameter
className:Class — Der Name der Klasse, die Sie definieren.

Beispiel
Verwendung dieses Beispiels
Im folgenden Beispiel erweitert die Car-Klasse die Vehicle-Klasse, sodass alle ihre Methoden, Eigenschaften und Funktionen vererbt werden. Wenn das Skript ein Car-Objekt instanziiert, können Methoden sowohl von der Car-Klasse als auch von der Vehicle-Klasse verwendet werden. Das folgende Beispiel stellt den Inhalt der Datei „Vehicle.as“ dar, mit der die Vehicle-Klasse definiert wird:
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"); 
	    } 
	}	
}
Im folgenden Beispiel ist eine zweite ActionScript-Datei namens „Car.as“ dargestellt, die sich im gleichen Verzeichnis befindet. Diese Klasse erweitert die Vehicle-Klasse und ändert sie an drei Stellen. Zum einen fügt die Car-Klasse die Variable fullSizeSpare hinzu, mit der abgefragt wird, ob ein Fahrzeug über einen Ersatzreifen normaler Größe verfügt. Dann wird eine neue, nur für Fahrzeuge geltende Methode mit der Bezeichnung activateCarAlarm() hinzugefügt, mit der die Alarmanlage eines Fahrzeugs ausgelöst werden kann. Schließlich wird die Funktion stop() außer Kraft gesetzt, weil die Fahrzeuge dieser Car-Klasse mit ABS ausgestattet sind.
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"); 
	    } 
	}
}
Im folgenden Beispiel wird ein Car-Objekt instanziiert sowie eine in der Vehicle-Klasse definierte Methode (start()), die von der Car-Klasse außer Kraft gesetzte Methode (stop()) und schließlich eine Methode der Car-Klasse (activateCarAlarm()) aufgerufen:
var myNewCar:Car = new Car(2, "Red", true); 
myNewCar.start(); // [Vehicle] start 
myNewCar.stop(); // [Car] stop with anti-lock brakes 
myNewCar.activateCarAlarm(); // [Car] activateCarAlarm
Mithilfe der Anweisung super können Sie zudem eine Unterklasse der Vehicle-Klasse schreiben, mit der die Unterklasse auf den Konstruktor der übergeordneten Klasse zugreifen kann. In dem folgenden Beispiel wird eine dritte ActionScript-Datei mit der Bezeichnung „Truck.as“ vorgestellt, die ebenfalls im gleichen Verzeichnis gespeichert ist. Die Truck-Klasse verwendet das Schlüsselwort super sowohl im Konstruktor als auch in der außer Kraft gesetzten reverse()-Funktion.
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"); 
		} 
	}
}
Im folgenden Beispiel wird ein Truck-Objekt instanziiert sowie die von der Truck-Klasse (reverse()) außer Kraft gesetzte Methode und die in der Vehicle-Klasse (stop()) definierte Methode aufgerufen:
var myTruck:Truck = new Truck(2, "White", 18); 
myTruck.reverse(); // [Truck] make beeping sound [Vehicle] reverse 
myTruck.stop(); // [Vehicle] stop

Verwandte API-Elemente

falsePrimärausdruck-Schlüsselwort 
Verwendung

false

Ein boolescher Wert, der „false“ (falsch) darstellt. Die beiden möglichen booleschen Werte sind true (wahr) oder false (falsch). Das Gegenteil von false ist true.

Wenn die automatische Typisierung false in eine Zahl umwandelt, wird daraus 0. Bei der Umwandlung von false in einen String wird der Wert zu einem literalen false.

Hinweis: Die Zeichenfolge "false" wird in den booleschen Wert true konvertiert.

Parameter

Beispiel
Verwendung dieses Beispiels
Das folgende Beispiel veranschaulicht, wie die automatische Typisierung false in eine Zahl bzw. in einen String umwandelt:
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
In dem folgenden Beispiel wird gezeigt, wie die Zeichenfolge false in den booleschen Wert true konvertiert wird:
trace(Boolean("false")); // true

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

Verwandte API-Elemente

finalAttribut-Schlüsselwort 
Verwendung

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

Gibt an, dass eine Methode nicht außer Kraft gesetzt oder eine Klasse nicht erweitert werden kann. Der Versuch, eine Methode außer Kraft zu setzen oder eine als final gekennzeichnete Klasse zu erweitern, führt zu einer Fehlermeldung.

Parameter
methodName:Function — Der Name der Methode, die nicht außer Kraft gesetzt werden kann.
className:Class — Der Name der Klasse, die nicht erweitert werden kann.

Verwandte API-Elemente

flash_proxy Namespaces  

Definiert Methoden der Proxy-Klasse. Die Methoden der Proxy-Klasse befinden sich in ihrem eigenen Namespace, um Namenskonflikte in Fällen zu vermeiden, in denen Ihre Proxy-Unterklasse Namen von Instanzenmethoden enthält, die mit anderen Methodennamen in der Proxy-Klasse übereinstimmen.

Parameter

Verwandte API-Elemente

forAnweisung 
Verwendung

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

Wertet den Ausdruck init (initialisieren) einmal aus und beginnt dann eine Schleifensequenz. Die Schleifensequenz beginnt zunächst mit der Auswertung des Ausdrucks condition. Wenn der Ausdruck condition den Wert true ergibt, wird statement ausgeführt und next ausgewertet. Die Schleifensequenz beginnt dann mit der Auswertung des Ausdrucks condition.

Die geschweiften Klammern ({}), die die von der for-Anweisung auszuführenden Anweisungsblock einschließen, sind nicht erforderlich, wenn nur eine Anweisung ausgeführt wird.

Parameter
init — Ein optionaler Ausdruck, der vor Beginn der Schleifensequenz ausgewertet werden muss, in der Regel ein Zuweisungsausdruck. Eine var-Anweisung ist für diesen Parameter ebenfalls zulässig.
condition — Ein optionaler Ausdruck, der vor Beginn der Schleifensequenz ausgewertet werden muss, in der Regel ein Vergleichsausdruck. Wenn der Ausdruck true ergibt, werden die mit der for-Anweisung verknüpften Anweisungen ausgeführt.
next — Ein optionaler Ausdruck, der nach der Schleifensequenz ausgewertet werden muss, in der Regel ein Inkrement- oder ein Dekrementausdruck.

Beispiel
Verwendung dieses Beispiels
Im folgenden Beispiel wird for zum Addieren der Elemente in einem Array verwendet:
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 
Im folgenden Beispiel wird for verwendet, um eine Aktion mehrmals auszuführen. Im folgenden Code werden durch die for-Schleife die Zahlen von 1 bis 100 addiert.
var sum:Number = 0; 
for (var i:Number = 1; i <= 100; i++) { 
	sum += i; 
} 
trace(sum); // 5050
Das folgende Beispiel veranschaulicht, dass die geschweiften Klammern ({}) nicht erforderlich sind, wenn nur eine Anweisung ausgeführt wird:
var sum:Number = 0; 
for (var i:Number = 1; i <= 100; i++) 
	sum += i; 
trace(sum); // 5050

Verwandte API-Elemente

for..inAnweisung 
Verwendung

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

Durchläuft die dynamischen Eigenschaften eines Objekts bzw. die Elemente in einem Array und führt die Anweisung statement für jede Eigenschaft bzw. jedes Element aus. Objekteigenschaften werden nicht in einer bestimmten Reihenfolge angeordnet, sodass Eigenschaften scheinbar nach dem Zufallsprinzip wiedergegeben werden können. Feste Eigenschaften, z. B. Variablen und Methoden, die in einer Klasse definiert sind, werden von der for..in-Anweisung nicht verarbeitet. Verwenden Sie die Funktion describeType() aus dem flash.utils-Paket, um eine Liste der festen Eigenschaften anzuzeigen.

Parameter
variableIterant:String — Der Name einer Variablen, die als Iterator fungiert und auf jede Eigenschaft eines Objekts bzw. die Elemente in einem Array verweist.

Beispiel
Verwendung dieses Beispiels
Im folgenden Beispiel wird for..in verwendet, um die Eigenschaften eines Objekts zu durchlaufen.
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
*/
Im folgenden Beispiel wird der typeof-Operator mit for..in verwendet, um einen bestimmten Typ eines untergeordneten Elements zu durchlaufen.
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
*/

Verwandte API-Elemente

for each..inAnweisung 
Verwendung

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

Durchläuft die Elemente in einer Sammlung und führt statement für jedes Element aus. Die als Teil der E4X-Spracherweiterungen eingeführte for each..in-Anweisung kann nicht nur für XML-Objekte, sondern auch für Objekte und Arrays verwendet werden. Die for each..in -Anweisung durchläuft nur die dynamischen Eigenschaften eines Objekts, nicht jedoch die festen Eigenschaften. Eine feste Eigenschaft ist eine Eigenschaft, die als Teil einer Klassendefinition definiert ist. Um die for each..in-Anweisung mit einer Instanz einer benutzerdefinierten Klasse zu verwenden, müssen Sie die Klasse als dynamic deklarieren.

Im Gegensatz zur for..in-Anweisung durchläuft die for each..in-Anweisung die Werte der Objekteigenschaften und nicht die Eigenschaftsnamen.

Parameter
variableIterant:* — Der Name einer Variablen, die als Iterator fungiert und auf jedes Element in einer Sammlung verweist.
object:Object — Der Name einer durchlaufenen Sammlung. Bei der Sammlung kann es sich um ein XML-Objekt, ein generisches Objekt oder um ein Array handeln.

Beispiel
Verwendung dieses Beispiels
Im folgenden Beispiel werden mit for each..in die in den Eigenschaften eines Objekts gespeicherten Werte durchlaufen:
var myObject:Object = {firstName:"Tara", age:27, city:"San Francisco"}; 
for each (var item in myObject) { 
	trace(item); 
} 
/*
Tara
27
San Francisco
*/
Im folgenden Beispiel werden mit for each..in die Elemente eines Arrays durchlaufen.
var myArray:Array = new Array("one", "two", "three"); 
for each(var item in myArray) 
	trace(item); 
/*
one
two
three
*/
Im folgenden Beispiel wird der is-Operator mit for each..in verwendet, um einen bestimmten Typ eines untergeordneten Elements zu durchlaufen.
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
*/
Das folgende Beispiel zeigt, wie mit for each..in die Eigenschaften eines XMLList-Objekts (doc.p durchlaufen werden.
var doc:XML = 
		
			

Hello

Hola


Bonjour

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

functionDefinitions-Schlüsselwort 
Verwendung

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

Umfasst eine Gruppe von Anweisungen, die zur Ausführung einer bestimmten Aufgabe definiert werden. Sie können eine Funktion an einer Stelle definieren und dann von anderen Skripts in einer SWF-Datei aufrufen. Beim Definieren einer Funktion können Sie auch Parameter für diese Funktion angeben. Parameter sind Platzhalter für Werte, die von der Funktion für die Ausführung verwendet werden. Sie können einer Funktion bei jedem neuen Aufruf andere Parameter übergeben, sodass Sie ein und dieselbe Funktion an mehreren Stellen verwenden können.

Mit der Anweisung return im Funktionsblock statement(s) können Sie die Funktion veranlassen, einen Wert zu generieren oder zurückzugeben.

Verwendung 1: Sie können das Schlüsselwort function verwenden, um eine Funktion mit dem angegebenen Namen, den angegebenen Parametern und den angegebenen Anweisungen zu definieren. Ruft ein Skript dann eine Funktion auf, werden die Anweisungen in der Funktionsdefinition ausgeführt. Vorwärtsreferenzen sind zulässig. Eine Funktion kann innerhalb eines Skripts auch nach ihrem Aufruf deklariert werden. Eine Funktionsdefinition ersetzt alle vorigen Definitionen dieser Funktion. Sie können diese Syntax an jeder Stelle verwenden, an der eine Anweisung zulässig ist.

Verwendung 2: Mithilfe von function können Sie auch eine anonyme Funktion erstellen und einen Verweis auf diese Funktion zurückgeben. Diese Syntax wird in Ausdrücken verwendet und eignet sich besonders zur Installation von Methoden in Objekten.

Weitere Möglichkeiten ergeben sich durch die Verwendung eines arguments-Objekts in der Funktionsdefinition. Häufig werden die arguments-Objekte dazu verwendet, Funktionen zu erstellen, die unterschiedlich viele Parameter annehmen können. Aber auch rekursive anonyme Funktionen können auf diese Weise erstellt werden.

Parameter
functionName:Function — Der Name der neuen Funktion.
returnType:* — Der Datentyp des Rückgabewerts.

Beispiel
Verwendung dieses Beispiels
In dem folgenden Code wird die Funktion sqr definiert, die den Quadratwert einer Zahl zurückgibt.
function sqr(xNum:Number) { 
	return Math.pow(xNum, 2); 
} 
var yNum:Number = sqr(3); 
trace(yNum); // 9
Bei Deklaration und Verwendung einer Funktion in ein und demselben Skript kann die Funktionsdefinition nach der Verwendung der Funktion erscheinen:
var yNum:Number = sqr(3); 
trace(yNum); // 9 
function sqr(xNum:Number) { 
	return Math.pow(xNum, 2); 
}

Verwandte API-Elemente

getDefinitions-Schlüsselwort 
Verwendung

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

Definiert eine get-Methode. Dies ist eine Methode, die wie eine Eigenschaft gelesen werden kann. Eine get-Methode ist eine Sonderfunktion, die den Wert einer Eigenschaft zurückgibt, die mit dem Schlüsselwort var oder const deklariert wurde. Im Gegensatz zu anderen Methoden wird eine get-Methode ohne Klammern (()) aufgerufen. Daher sieht eine get-Methode wie eine Variable aus.

Get-Methoden ermöglichen Ihnen das Verbergen von Informationen, indem Sie eine öffentliche („public“) Schnittstelle für eine private Eigenschaft erstellen. Der Vorteil beim Verbergen von Informationen besteht darin, dass die öffentliche Schnittstelle auch dann gleich bleibt, wenn sich die zu Grunde liegende Implementierung der privaten Eigenschaft ändert.

Ein weiterer Vorteil der get-Methoden besteht darin, dass sie in Unterklassen außer Kraft gesetzt werden können. Dies ist bei Eigenschaften, die mit var oder const deklariert wurden, nicht möglich.

Eine get-Methode kann mit einer set-Methode kombiniert werden, um eine Eigenschaft mit Lese- und Schreibzugriff zu erstellen. Zum Erstellen einer schreibgeschützten Eigenschaft verwenden Sie eine get-Methode ohne eine entsprechende set-Methode. Zum Erstellen einer Eigenschaft mit Schreibzugriff verwenden Sie eine set-Methode ohne eine entsprechende get-Methode.

Parameter
property:* — Der Bezeichner für die Eigenschaft, auf die get zugreift. Dieser Wert muss mit dem im entsprechenden set-Befehl verwendeten Wert übereinstimmen.
returnType:* — Der Datentyp des Rückgabewerts.

Beispiel
Verwendung dieses Beispiels
In dem folgenden Beispiel wird eine Team-Klasse definiert. Diese Team-Klasse enthält get- oder set-Methoden, mit denen die Eigenschaften einer Klasse abgerufen und eingestellt werden können:
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; 
		}
	} 
}
Geben Sie folgenden Code in Ihr Skript ein:
var giants:Team = new Team("San Fran", "SFO"); 
trace(giants.name); 
giants.name = "San Francisco"; 
trace(giants.name); 
/*
San Fran San Francisco */
Bei der Anzeige von giants.name verwenden Sie eine get-Methode, um den Wert der Eigenschaft zurückzugeben.

Verwandte API-Elemente

ifAnweisung 
Verwendung

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

Wertet eine Bedingung aus, um die nächste auszuführende Anweisung festzulegen. Wenn die Bedingung true ergibt, führt Flash Player die Anweisungen aus, die in geschweiften Klammern ({}) auf die Bedingung folgen. Wenn die Bedingung false ist, überspringt Flash Player die Anweisungen in geschweiften Klammern und führt die Anweisungen nach den geschweiften Klammern aus. Verwenden Sie die if-Anweisung zusammen mit der else-Anweisung, um logische Verzweigungen in den Skripts zu erstellen.

Die geschweiften Klammern ({}), die die von der if-Anweisung auszuführenden Anweisungen einschließen, sind nicht erforderlich, wenn nur eine Anweisung ausgeführt wird.

Parameter
condition:Boolean — Ein Ausdruck, der den Wert true oder false haben kann.

Verwandte API-Elemente

implementsDefinitions-Schlüsselwort 
Verwendung

myClass implements interface01 [, interface02 , ...] 

Gibt an, das eine Klasse mindestens eine Schnittstelle implementiert. Wenn eine Klasse eine Schnittstelle implementiert, muss die Klasse alle Methoden definieren, die in der Schnittstelle deklariert sind. Jede Instanz einer Klasse, die eine Schnittstelle implementiert, wird als ein Mitglied des von der Schnittstelle definierten Datentyps angesehen. Daher gibt der Operator is den Wert true zurück, wenn die Klasseninstanz der erste Operand und die Schnittstelle der zweite Operand ist. Darüber hinaus finden Datentyp-Konvertierungen von und zum von der Schnittstelle definierten Datentyp statt.

Parameter

Verwandte API-Elemente

importDirektive 
Verwendung

import packageName.className 
import packageName.*

Stellt extern definierte Klassen und Pakete für Ihren Code zur Verfügung. Wenn Sie beispielsweise die Klasse „flash.display.Sprite“ in einem Skript verwenden möchten, muss sie importiert werden. Dieser Anforderung unterscheidet sich von früheren ActionScript-Versionen, in denen die Direktive import optional war.

Nach Verwendung der Direktive import können Sie den vollständigen Klassennamen, der auch den Paketnamen umfasst, oder nur den Klassennamen verwenden.

 
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();

Enthält das Paket, auf die Sie zugreifen möchten, mehrere Klassen, können Sie diese in einer Anweisung importieren. Dies wird in dem folgendem Beispiel veranschaulicht:

import flash.display.*;

Die import-Direktive importiert nur die Klassen, Funktionen und Variablen, die auf der obersten Ebene des importierten Pakets gespeichert sind. Verschachtelte Pakete müssen explizit importiert werden.

Wenn Sie eine Klasse importieren, diese jedoch im Skript nicht verwenden, wird die Klasse nicht zusammen mit der SWF-Datei exportiert. Dies bedeutet, dass Sie große Pakete importieren können, ohne sich später um die Größe der SWF-Datei Gedanken machen zu müssen. Der mit einer Klasse verknüpfte Bytecode ist in einer SWF-Datei nur dann enthalten, wenn die entsprechende Klasse tatsächlich verwendet wird. Ein Nachteil beim Importieren von Klassen besteht darin, dass Sie die Wahrscheinlichkeit von Namenskonflikten vergrößern.

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

Parameter
packageName:* — Der Name eines Pakets, das Sie in einer separaten Klassendatei definiert haben.
className:Class — Der Name einer Klasse, die Sie in einer separaten Klassendatei definiert haben.
includeDirektive 
Verwendung

include "[path]filename.as"

Bezieht den Inhalt der angegebenen Datei so ein, als wären die Befehle in der Datei Teil des aufrufenden Skripts. Die include-Direktive wird bei der Kompilierung aufgerufen. Wenn Sie eine eingeschlossene Datei ändern, müssen Sie sie daher speichern und alle SWF-Dateien neu kompilieren, die diese Datei verwenden.

Parameter
interfaceDefinitions-Schlüsselwort 
Verwendung

 interface InterfaceName [extends InterfaceName ] {}

Definiert eine Schnittstelle. Schnittstellen sind Datentypen, die eine Reihe von Methoden definieren; die Methoden müssen von einer Klasse definiert werden, die die Schnittstelle implementiert.

Eine Schnittstelle ähnelt einer Klasse, wobei jedoch die folgenden wichtigen Unterschiede zu beachten sind:

  • Schnittstellen umfassen lediglich Deklarationen von Methoden, nicht aber ihre Implementierung. Das heißt, jede Klasse, die eine Schnittstelle implementiert, muss für jede in der Schnittstelle deklarierte Methode eine Implementierung bereitstellen.
  • Methodendefinitionen in Schnittstellen können keine Attribute wie public oder private besitzen, implementierte Methoden müssen jedoch in der Definition der Klasse, die die Schnittstelle implementiert, als public (öffentlich) gekennzeichnet werden.
  • Mehrere Schnittstellen können mithilfe der Anweisung extends von einer Schnittstelle, oder mithilfe der Anweisung implements von einer Klasse übernommen werden.

Im Gegensatz zu ActionScript 2.0 erlaubt ActionScript 3.0 die Verwendung von get- und set-Methoden in Schnittstellendefinitionen.

Parameter

Verwandte API-Elemente

internalAttribut-Schlüsselwort 
Verwendung

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

Gibt an, dass eine Klasse, Variable, Konstante oder Funktion jedem aufrufenden Objekt im gleichen Paket zur Verfügung steht. Klassen, Eigenschaften und Methoden gehören standardmäßig zum internal (internen) Namespace.

Parameter
className:Class — Der Name der Klasse, die als „internal“ (intern) gekennzeichnet werden soll.
varName:* — Der Name der Variablen, die als „internal“ (intern) gekennzeichnet werden soll. Sie können das Attribut internal unabhängig davon anwenden, ob die Variable ein Teil einer Klasse ist.
kName:* — Der Name der Konstanten, die als „internal“ (intern) gekennzeichnet werden soll. Sie können das Attribut internal unabhängig davon anwenden, ob die Konstante ein Teil einer Klasse ist.
functionName:Function — Der Name der Funktion oder Methode, die als „internal“ (intern) gekennzeichnet werden soll. Sie können das Attribut internal unabhängig davon anwenden, ob die Funktion ein Teil einer Klasse ist.
nsName:Namespace — Der Name des Namespace, der als „internal“ (intern) gekennzeichnet werden soll. Sie können das Attribut internal unabhängig davon anwenden, ob der Namespace ein Teil einer Klasse ist.

Verwandte API-Elemente

labelAnweisung 
Verwendung

label: statement
label: {
    statements
}

Verknüpft eine Anweisung mit einem Bezeichner, auf den mithilfe von break oder continue verwiesen werden kann. Bei verschachtelten Schleifen kann eine break- oder continue-Anweisung, die nicht auf eine Bezeichnung verweist, lediglich den Rest der unmittelbaren Schleife überspringen, nicht jedoch die gesamte Serie der verschachtelten Schleifen. Wenn die Anweisung, die eine gesamte Serie von Schleifen definiert, mit einer Bezeichnung verknüpft ist, kann eine break- oder continue-Anweisung die gesamte Serie von Schleifen überspringen, indem sie auf diese Bezeichnung verweist.

Darüber hinaus können Sie mit Bezeichnungen aus einer Blockanweisung ausbrechen. Sie können eine break-Anweisung, die nicht auf eine Bezeichnung verweist, nicht in eine Blockanweisung einfügen, es sei denn, die Blockanweisung ist Teil einer Schleife. Wenn die Blockanweisung mit einer Bezeichnung verknüpft ist, können Sie eine break-Anweisung einfügen, die auf diese Bezeichnung innerhalb der Blockanweisung verweist.

Parameter
label:* — Ein gültiger Bezeichner, der mit einer Anweisung verknüpft wird.
statements:* — Anweisung, die mit der Bezeichnung verknüpft wird.

Beispiel
Verwendung dieses Beispiels
In dem folgenden Code wird gezeigt, wie eine Bezeichnung mit einer verschachtelten Schleife verwendet wird, um aus einer gesamten Serie von Schleifen auszubrechen. In diesem Code wird eine verschachtelte Schleife verwendet, um eine Zahlenreihe von 0 bis 99 zu erzeugen. Die Anweisung break tritt auf, bevor der Zähler 80 erreicht. Wenn die Anweisung break die Bezeichnung outerLoop nicht verwendet, würde der Code lediglich den Rest der unmittelbaren Schleife überspringen und weiterhin die Zahlen von 90 bis 99 ausgeben. Da jedoch die Bezeichnung outerLoop verwendet wird, überspringt die Anweisung break den Rest der gesamten Schleifenserie und die letzte ausgegebene Zahl ist 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
*/
In dem folgenden Beispiel wird veranschaulicht, wie eine Bezeichnung mit einer Blockanweisung verwendet wird. In dem folgenden Code wird eine Blockanweisung mit der Bezeichnung foo erstellt, die es der Anweisung break ermöglicht, die letzte Anweisung im Block zu überspringen:
foo: {
	trace("a");
	break foo;
	trace("b");
}
// a

Verwandte API-Elemente

namespaceDefinitions-Schlüsselwort 
Verwendung

namespace name [= uri]

Ermöglicht Ihnen, die Sichtbarkeit von Definitionen zu bestimmen. Die vordefinierten Namespaces umfassen public, private, protected und internal.

Die folgenden Schritte zeigen Ihnen, wie Sie einen Namespace erstellen, anwenden und referenzieren:

  • Zunächst definieren Sie den benutzerdefinierten Namespace mithilfe des Schlüsselworts namespace. So erzeugt der Code namespace version1 beispielsweise einen Namespace mit der Bezeichnung version1.
  • Dann wenden Sie den Namespace an einer Eigenschaft oder Methode an, indem Sie Ihren benutzerdefinierten Namespace in der Deklaration der Eigenschaft oder Methode verwenden. Beispielsweise erzeugt der Code version1 myProperty:String eine Eigenschaft mit der Bezeichnung myProperty, die zum Namespace version1 gehört.
  • Im dritten Schritt erstellen Sie mithilfe des Schlüsselworts use oder durch das Voranstellen eines Bezeichners mit dem Namespace einen Verweis auf den Namespace. So verweist der Code use namespace version1; für die nachfolgenden Codezeilen auf den Namespace version1 und der Code version1::myProperty verweist für die Eigenschaft myProperty auf den Namespace version1.

Parameter
name:Namespace — Der Name des Namespace. Dies kann jeder zulässige Bezeichner sein.
uri:String — Der Namespace-URI (Uniform Resource Identifier, einheitlicher Ressourcenbezeichner). Dieser Parameter ist optional.

Verwandte API-Elemente

nativeAttribut-Schlüsselwort 
Verwendung

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

Gibt an, dass eine Funktion oder Methode im nativen Code von Flash Player implementiert wird. Flash Player verwendet intern das Schlüsselwort native, um Funktionen und Methoden in der ActionScript Application Programming Interface (API) zu deklarieren. Dieses Schlüsselwort kann in Ihrem Code nicht verwendet werden.  

Parameter
nullPrimärausdruck-Schlüsselwort 
Verwendung

null

Ein Sonderwert, der Variablen zugewiesen werden kann oder von einer Funktion zurückgegeben wird, wenn keine Daten angegeben wurden. Mit null können Sie fehlende Werte oder Werte ohne definierten Datentyp darstellen.

Der Wert null darf nicht mit dem Sonderwert undefined verwechselt werden. Wenn null und undefined anhand des Gleichheitsoperators (==) verglichen werden, gelten sie als identisch. Wenn null und undefined dagegen mit dem Operator für strikte Gleichheit (===) verglichen werden, sind sie nicht identisch.

Parameter

Beispiel
Verwendung dieses Beispiels
Im folgenden Beispiel werden die ersten sechs Werte eines indizierten Arrays geprüft. Wurde kein Wert gesetzt (wenn value == null ist), wird eine Meldung ausgegeben:
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
*/

Verwandte API-Elemente

object_proxy Namespaces  

Definiert Methoden der ObjectProxy-Klasse. Die Methoden der ObjectProxy-Klasse befinden sich in ihrem eigenen Namespace, um Namenskonflikte in Fällen zu vermeiden, in denen eine Proxy-Unterklasse Namen von Instanzenmethoden enthält, die mit anderen Methodennamen in der Proxy-Klasse übereinstimmen.

Parameter
overrideAttribut-Schlüsselwort 
Verwendung

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

Gibt an, dass eine Methode eine übernommene Methode ersetzt. Um eine übernommene Methode außer Kraft zu setzen, verwenden Sie das Attribut override und achten darauf, dass Name, Klasseneigenschaftsattribut, Anzahl und Typ der Parameter sowie der Rückgabetyp exakt übereinstimmen. Der Versuch, eine Methode ohne das Attribut override außer Kraft zusetzen, führt zu einer Fehlermeldung. Entsprechend wird eine Fehlermeldung erzeugt, wenn das Attribut override verwendet wird, obwohl die Methode keine entsprechende übernommene Methode besitzt.

Sie können das Attribut override für folgende Elemente nicht verwenden:

  • Variablen
  • Konstanten
  • Statische Methoden
  • Methoden, die nicht geerbt wurden
  • Methoden, die eine Schnittstellenmethode implementieren
  • Geerbte Methoden, die in der übergeordneten Klasse als final gekennzeichnet sind

Eine mit var oder const deklarierte Eigenschaft kann nicht außer Kraft gesetzt werden. Sie erzielen jedoch eine ähnliche Funktion, indem Sie die Basisklasseneigenschaft in einen Getter-Setter umwandeln und mit get und set definierte Methoden außer Kraft setzen.

Parameter
name:Function — Der Name der außer Kraft zu setzenden Methode.

Verwandte API-Elemente

packageDefinitions-Schlüsselwort 
Verwendung

package packageName {
    class someClassName { 
    } 
}

Ermöglicht Ihnen das Strukturieren Ihres Code in diskreten Gruppen, die von anderen Skripts importiert werden können. Mit dem Schlüsselwort package geben Sie an, dass eine Klasse ein Mitglied eines Pakets ist.

Parameter
packageName:* — Der Name des Pakets.

Verwandte API-Elemente

privateAttribut-Schlüsselwort 
Verwendung

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

Gibt an, dass eine Variable, Konstante oder Methode nur für die sie deklarierende oder definierende Klasse verfügbar ist. Im Gegensatz zu ActionScript 2.0 bietet private in ActionScript 3.0 keinen Zugriff auf Unterklassen. Darüber hinaus schränkt private den Zugriff sowohl während der Kompilierung als auch zur Laufzeit ein. In der Standardeinstellung stehen Variablen oder Funktionen jedem aufrufenden Objekt im gleichen Paket zur Verfügung. Verwenden Sie dieses Schlüsselwort zur Einschränkung des Zugriffs auf eine Variable oder Funktion.

Sie können dieses Schlüsselwort nur in Klassendefinitionen verwenden, nicht in Schnittstellendefinitionen. Sie können private nicht auf eine Klasse oder andere Definitionen auf Paketebene anwenden.

Parameter
varName:* — Der Name der Variablen, die als „private“ (privat) gekennzeichnet werden soll. Sie können das Attribut private nur dann verwenden, wenn sich die Variable in einer Klasse befindet.
kName:* — Der Name der Konstanten, die als „private“ (privat) gekennzeichnet werden soll. Sie können das Attribut private nur dann verwenden, wenn sich die Konstante in einer Klasse befindet.
methodName:Function — Der Name der Methode, die als „private“ (privat) gekennzeichnet werden soll. Sie können das Attribut private nur dann verwenden, wenn sich die Methode in einer Klasse befindet.
nsName:Namespace — Der Name des Namespace, der als „private“ (privat) gekennzeichnet werden soll. Sie können das Attribut private nur dann verwenden, wenn sich der Namespace in einer Klasse befindet.

Beispiel
Verwendung dieses Beispiels
Im folgenden Beispiel wird veranschaulicht, wie Sie bestimmte Eigenschaften in einer Klasse mit dem Schlüsselwort private ausblenden können.
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
  }
}
Da alpha eine private Variable ist, können Sie nicht von außerhalb der Klasse A auf sie zugreifen, auch nicht von der Unterklasse B. Versuche, auf eine Variable zuzugreifen, der das Schlüsselwort „private“ (privat) zugewiesen ist, erzeugen eine Fehlermeldung.

Verwandte API-Elemente

protectedAttribut-Schlüsselwort 
Verwendung

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

Gibt an, dass eine Variable, Konstante, Methode oder ein Namespace nur für die sie definierende Klasse und allen Unterklassen dieser Klasse verfügbar ist. Die Definition von protected in ActionScript 3.0 ähnelt der Definition von private in der ActionScript 2.0-Version, außer dass protected den Zugriff sowohl während der Kompilierung als auch zur Laufzeit einschränkt. In der Standardeinstellung stehen Variablen oder Funktionen jedem aufrufenden Objekt innerhalb des gleichen Pakets zur Verfügung. Verwenden Sie dieses Schlüsselwort zur Einschränkung des Zugriffs auf eine Variable oder Funktion.

Sie können dieses Schlüsselwort nur in Klassendefinitionen verwenden, nicht in Schnittstellendefinitionen. Sie können private nicht auf eine Klasse oder andere Definitionen auf Paketebene anwenden.

Die Definition von protected in ActionScript 3.0 ist stärker einschränkend als die Definition von protected in der Programmiersprache Java. In ActionScript 3.0 schränkt protected den Zugriff auf Unterklassen strikt ein, während protected in Java auch den Zugriff auf andere Klassen im gleichen Paket erlaubt. Wenn eine Klasse mit der Bezeichnung Base eine als protected gekennzeichnete Eigenschaft enthält, können in ActionScript 3.0 nur Klassen, die die Basisklasse erweitern, auf die geschützte Eigenschaft zugreifen. In Java hat jede Klasse im gleichen Paket wie die Basisklasse Zugriff auf die geschützte Eigenschaft, selbst wenn die Klasse keine Unterklasse der Basisklasse ist.

Parameter
varName:* — Der Name der Variablen, die als „protected“ (geschützt) gekennzeichnet werden soll. Sie können das Attribut protected nur dann verwenden, wenn sich die Variable in einer Klasse befindet.
kName:* — Der Name der Konstanten, die als „protected“ (geschützt) gekennzeichnet werden soll. Sie können das Attribut protected nur dann verwenden, wenn sich die Konstante in einer Klasse befindet.
methodName:Function — Der Name der Methode, die als „protected“ (geschützt) gekennzeichnet werden soll. Sie können das Attribut protected nur dann verwenden, wenn sich die Methode in einer Klasse befindet.
nsName:Namespace — Der Name des Namespace, der als „protected“ (geschützt) gekennzeichnet werden soll. Sie können das Attribut protected nur dann verwenden, wenn sich der Namespace in einer Klasse befindet.

Beispiel
Verwendung dieses Beispiels
In dem folgenden Code wird eine geschützte Klassenvariable in der Klasse A erstellt und erfolgreich auf diese Variable in Klasse B zugegriffen, weil Klasse B eine Unterklasse der Klasse A ist.
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
  }
}

Verwandte API-Elemente

publicAttribut-Schlüsselwort 
Verwendung

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

Gibt an, dass eine Klasse, Variable, Konstante oder Methode für jedes aufrufende Objekt verfügbar ist. Klasse, Variablen und Methoden sind standardmäßig „internal“ (intern). Dies bedeutet, dass sie nur innerhalb des aktuellen Pakets sichtbar sind. Um eine Klasse, Variable oder Methode für alle aufrufenden Objekte sichtbar zu machen, verwenden Sie das Attribut public (öffentlich).

Parameter
className:Class — Der Name der Klasse, die als „public“ (öffentlich) gekennzeichnet werden soll.
varName:* — Der Name der Variablen, die als „public“ (öffentlich) gekennzeichnet werden soll. Sie können das Attribut public unabhängig davon anwenden, ob die Variable ein Teil einer Klasse ist.
kName:* — Der Name der Konstanten, die als „public“ (öffentlich) gekennzeichnet werden soll. Sie können das Attribut public unabhängig davon anwenden, ob die Konstante ein Teil einer Klasse ist.
functionName:Function — Der Name der Funktion oder Methode, die als „public“ (öffentlich) gekennzeichnet werden soll. Sie können das Attribut public unabhängig davon anwenden, ob die Funktion ein Teil einer Klasse ist.
nsName:Namespace — Der Name des Namespace, der als „public“ (öffentlich) gekennzeichnet werden soll. Sie können das Attribut public unabhängig davon anwenden, ob der Namespace ein Teil einer Klasse ist.

Beispiel
Verwendung dieses Beispiels
In dem folgenden Beispiel wird veranschaulicht, wie Sie öffentliche Variablen in einer Klassendatei verwenden können:
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
Wenn Sie eine der öffentlichen Variablen der User-Klasse in eine private Variable ändern, wird bei jedem Versuch, außerhalb der User-Klasse auf diese Variable zuzugreifen, während der Kompilierung eine Fehlermeldung erzeugt.

Verwandte API-Elemente

returnAnweisung 
Verwendung

function functionName () {
	return [expression]
}

Zwingt die Ausführung, unmittelbar zur aufrufenden Funktion zurückzukehren. Wenn der Anweisung return ein Ausdruck folgt, wird der Ausdruck ausgewertet und das Ergebnis zurückgegeben.

Wenn eine Funktionsdefinition einen Rückgabetyp enthält, muss der Anweisung return ein Ausdruck folgen. Wenn kein Rückgabetyp angegeben ist und die Anweisung return allein verwendet wird, gibt sie undefined zurück.

Es kann immer nur ein Wert zurückgegeben werden. Wenn Sie versuchen, mehrere Werte zurückzugeben, erhalten Sie immer nur den letzten Wert. Im folgenden Beispiel wird c zurückgegeben:

return a, b, c ;

Wenn Sie erreichen möchten, dass mehrere Werte zurückgegeben werden, müssen Sie ein Array oder ein Objekt verwenden.

Parameter
expression:* — Ein Ausdruck, der ausgewertet und als Wert der Funktion zurückgegeben werden soll. Dieser Parameter ist optional.

Beispiel
Verwendung dieses Beispiels
Im folgenden Beispiel wird die Anweisung return im Hauptteil der Funktion sum() verwendet und gibt den addierten Wert der drei Parameter zurück. Die nächste Codezeile ruft die Funktion sum() auf und weist der Variablen newValue den Rückgabewert zu.
function sum(a:Number, b:Number, c:Number):Number { 
	return (a + b + c); 
} 
var newValue:Number = sum(4, 32, 78); 
trace(newValue); // 114

Verwandte API-Elemente

setDefinitions-Schlüsselwort 
Verwendung

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

Definiert eine set-Methode. Dies ist eine Methode, die in der öffentlichen Schnittstelle als eine Eigenschaft erscheint. Eine set-Methode ist eine spezielle Methode, die den Wert einer mit dem Schlüsselwort var deklarierten Eigenschaft einstellt. Im Gegensatz zu anderen Methoden wird eine set-Methode ohne Klammern (()) aufgerufen. Daher sieht eine set-Methode wie eine Variable aus.

Set-Methoden ermöglichen Ihnen das Verbergen von Informationen, indem Sie eine öffentliche („public“) Schnittstelle für eine private Eigenschaft erstellen. Der Vorteil beim Verbergen von Informationen besteht darin, dass die öffentliche Schnittstelle auch dann gleich bleibt, wenn sich die zu Grunde liegende Implementierung der privaten Eigenschaft ändert.

Ein weiterer Vorteil der set-Methoden besteht darin, dass sie in Unterklassen außer Kraft gesetzt werden können. Dies ist bei Eigenschaften, die mit var deklariert wurden, nicht möglich.

Der Rückgabetyp einer set-Definition darf nicht angegeben werden oder muss void lauten.

Eine set-Methode kann mit einer get-Methode kombiniert werden, um eine Eigenschaft mit Lese- und Schreibzugriff zu erstellen. Zum Erstellen einer schreibgeschützten Eigenschaft verwenden Sie eine get-Methode ohne eine entsprechende set-Methode. Zum Erstellen einer Eigenschaft mit Schreibzugriff verwenden Sie eine set-Methode ohne eine entsprechende get-Methode.

Parameter
property:* — Der Bezeichner für die Eigenschaft, die set änder. Dieser Wert muss mit dem im entsprechenden get-Befehl verwendeten Wert übereinstimmen.
newValue:* — Der neue Wert, der zugewiesen werden soll.

Beispiel
Verwendung dieses Beispiels
In dem folgenden Code wird eine Eigenschaft mit Lese- und Schreibzugriff namens age durch das Definieren einer get/set-Methode erstellt.
package {
	class User { 
	    private var userAge:Number; 
	    
	    public function get age():Number {
	    	return userAge;
	    }
	    
	    public function set age(x:Number):void {
	    	userAge = x;	
	    }
	} 
} 
Geben Sie folgenden Code in Ihr Skript ein:
var myUser:User = new User();
myUser.age = 25;
trace(myUser.age); // 25

Verwandte API-Elemente

staticAttribut-Schlüsselwort 
Verwendung

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

Gibt an, dass eine Variable, Konstante oder Methode zu der Klasse und nicht zu Instanzen dieser Klasse gehört.

Für den Zugriff auf ein statisches Mitglied einer Klasse müssen Sie den Namen der Klasse anstelle des Instanznamens verwenden. Beispielsweise verfügt die Date-Klasse über eine statische Methode mit der Bezeichnung parse(), die nur mithilfe der folgenden Syntax aufgerufen werden kann:

Date.parse()

Die parse()-Methode kann nicht für eine Instanz der Date-Klasse aufgerufen werden. Der folgende Code erzeugt beispielsweise eine Fehlermeldung:

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

Sie können das Schlüsselwort static nur in Klassendefinitionen verwenden, nicht in Schnittstellendefinitionen.

Statische Klassenmitglieder werden nicht übernommen. Sie können nicht mithilfe des Namens einer Unterklasse auf ein statisches Klassenmitglied verweisen, wie es beispielsweise in Java oder C++ möglich ist. Sie können jedoch ohne einen Qualifizierer auf eine statische Variable oder Methode innerhalb einer Klasse bzw. Unterklasse verweisen. Betrachten Sie dazu das folgende Beispiel.

Mit einer statischen Methode kann die Anweisung super bzw. das Schlüsselwort this nicht verwendet werden.

Parameter
varName:* — Der Name der Variablen, die als „static“ (statisch) gekennzeichnet werden soll.
kName:* — Der Name der Konstanten, die als „static“ (statisch) gekennzeichnet werden soll.
methodName:Function — Der Name der Methode, die als „static“ (statisch) gekennzeichnet werden soll.

Beispiel
Verwendung dieses Beispiels
Das folgende Beispiel veranschaulicht, wie Sie mithilfe des Schlüsselworts static einen Zähler erstellen können, der nachvollzieht, wie viele Instanzen einer Klasse erstellt wurden. Da es sich bei numInstances um eine statische Variable handelt, wird sie nur einmal für die gesamte Klasse erstellt und nicht für jede einzelne Instanz. Erstellen Sie eine neue ActionScript-Datei mit dem Namen „User.as“, und geben Sie den folgenden Code ein:
class Users { 
	private static var numInstances:Number = 0; 
	function Users() { 
		numInstances++; 
	} 
	static function get instances():Number { 
		return numInstances; 
	} 
}
Geben Sie folgenden Code in Ihr Skript ein:
trace(Users.instances); 
var user1:Users = new Users(); 
trace(Users.instances); 
var user2:Users = new Users(); 
trace(Users.instances); 
In dem folgenden Beispiel wird die Users-Klasse erweitert. Dies veranschaulicht, dass statische Variablen und Methoden nicht übernommen wurden, aber in Unterklassen auf diese Variablen und Methoden verwiesen werden kann.
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

superAnweisung 
Verwendung

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

Ruft die Superclass- oder übergeordnete Version einer Methode oder eines Konstruktors auf. Wenn die Anweisung super() innerhalb des Hauptteils eines Klassenkonstruktors verwendet wird, ruft sie die Superclass-Version des Konstruktors auf. Der Aufruf des Superclass-Konstruktors muss die richtige Anzahl an Argumenten aufweisen. Beachten Sie, dass der Superclass-Konstruktor immer aufgerufen wird, unabhängig davon, ob Sie ihn explizit aufrufen oder nicht. Wenn der Aufruf nicht explizit erfolgt, wird automatisch ein argumentloser Aufruf vor der ersten Anweisung im Hauptteil des Subclass-Konstruktors eingefügt. Wenn Sie also eine Konstruktorfunktion in einer Unterklasse definieren und der Superclass-Konstruktor mindestens ein Argument besitzt, müssen Sie den Superclass-Konstruktor explizit mit der richtigen Anzahl an Argumenten aufrufen oder es wird eine Fehlermeldung erzeugt. Der Aufruf des Superclass-Konstruktors muss jedoch nicht die erste Anweisung im Subclass-Konstruktor sein. Diese Anforderung besteht nur in ActionScript 2.0.

Wenn super im Hauptteil einer Instanzmethode eingesetzt wird, kann es mit dem Punkt-Operator (.) verwendet werden, um die Superclass-Version einer Methode aufzurufen. Optional können auch die Argumente (arg1 ... argN) an die Superclass-Methode übergeben werden. Auf diese Weise lassen sich Unterklassen-Methoden erstellen, die Superclass-Methoden nicht nur ein zusätzliches Verhalten hinzufügen, sondern die Superclass-Methoden auch zur Ausführung des ursprünglichen Verhaltens aufrufen.

Sie können die Anweisung super nicht in einer statischen Methode verwenden.

Parameter
method:Function — Die Methode, die in der übergeordneten Klasse (Superclass) aufgerufen werden soll.
argN:* — Optionale Parameter, die an die Superclass-Version der Methode bzw. an die Konstruktorfunktion der übergeordneten Klasse (Superclass) übergeben werden sollen.

Verwandte API-Elemente

switchAnweisung 
Verwendung

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

Führt abhängig vom Wert eines Ausdrucks dazu, dass die Steuerung an eine von mehreren Anweisungen übergeben wird. Alle switch-Anweisungen sollten eine Case-Standardanweisung enthalten, die dann ausgeführt wird, wenn keine der case-Anweisungen dem Ausdruck entsprechen. Jede case-Anweisung muss mit einer break-Anweisung beendet werden, um einen Fall-Through-Fehler zu vermeiden. Wenn nach einer Case-Anweisung ein „Fall-Though“ auftritt, wird der Code in der nächsten case-Anweisung ausgeführt, auch wenn dieser Fall dem Test-Ausdruck nicht entspricht.

Parameter
expression:* — Ein beliebiger Ausdruck.

Beispiel
Verwendung dieses Beispiels
In dem folgenden Code wird eine switch-Anweisung definiert, die auf die standardmäßige Case-Anweisung zurückgreift:
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

Verwandte API-Elemente

thisPrimärausdruck-Schlüsselwort 
Verwendung

this

Ein Verweis auf das in einer Methode enthaltene Objekt. Bei der Ausführung eines Skripts verweist das Schlüsselwort this auf das Objekt, in dem das Skript enthalten ist. Im Hauptteil der Methode verweist das Schlüsselwort this auf die Klasseninstanz, in der die aufgerufene Methode enthalten ist.

Parameter

Beispiel
Verwendung dieses Beispiels
Um eine in einer dynamischen Klasse definierte Funktion aufrufen zu können, verwenden Sie this, damit die Funktion im richtigen Gültigkeitsbereich aufgerufen wird:
// incorrect version of Simple.as
/*
dynamic class Simple {
    function callfunc() {
        func();
    }
}
*/
// correct version of Simple.as
dynamic class Simple {
    function callfunc() {
        this.func();
    }
}
Geben Sie folgenden Code in Ihr Skript ein:
var simpleObj:Simple = new Simple();
simpleObj.func = function() {
	trace("hello there");
}
simpleObj.callfunc();
Der vorhergehende Code funktioniert, wenn Sie this in der Methode callfunc() verwenden. Allerdings würden Sie einen Syntaxfehler erzeugen, wenn Sie nicht die richtige Version der Datei „Simple.as“ verwenden, die im obigen Beispiel auskommentiert ist

throwAnweisung 
Verwendung

throw expression 

Erzeugt bzw. gibt einen Fehler aus, der durch einen catch-Codeblock abgefangen werden kann. Wird eine Ausnahme nicht durch einen catch-Block abgefangen, wird die Stringdarstellung des ausgegebenen Werts an die Ausgabe gesendet. Wird eine Ausnahme nicht durch einen catch- oder finally-Block abgefangen, wird die Stringdarstellung des ausgegebenen Werts an die Protokolldatei gesendet.

Normalerweise werden Instanzen der Fehlerklasse oder der zugehörigen Unterklassen erzeugt (siehe Beispiele unten).

Parameter
expression:* — Ein ActionScript-Ausdruck oder ActionScript-Objekt.

Beispiel
Verwendung dieses Beispiels
Im folgenden Beispiel wird mit einer Funktion namens checkEmail() geprüft, ob es sich bei dem an die Funktion übergebenen String um eine korrekt formatierte E-Mail-Adresse handelt. Wenn der String kein @-Symbol enthält, wird von der Funktion ein Fehler ausgegeben.
function checkEmail(email:String) { 
	if (email.indexOf("@") == -1) { 
		throw new Error("Invalid email address"); 
	} 
} 
checkEmail("someuser_theirdomain.com");
In dem folgenden Beispiel wird die Funktion checkEmail() innerhalb eines try-Codeblocks aufgerufen. Wenn die E-Mail-Zeichenfolge keine gültige E-Mail-Adresse enthält, wird die Fehlermeldung von der Anweisung trace ausgegeben.
try { 
	checkEmail("Joe Smith"); 
} 
catch (e) { 
	trace(e); 
}
// Error: Invalid email address.
Im folgenden Beispiel wird eine Unterklasse der Error-Klasse erzeugt. Die Funktion checkEmail() wird geändert, um eine Instanz dieser Unterklasse zu erzeugen.
// Define Error subclass InvalidEmailError 
class InvalidEmailAddress extends Error { 
    public function InvalidEmailAddress() {
    	message = "Invalid email address."; 
    }
}
Geben Sie folgenden Code in Ihr Skript ein:
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.

Verwandte API-Elemente

truePrimärausdruck-Schlüsselwort 
Verwendung

true

Ein boolescher Wert, der „true“ (wahr) darstellt. Die beiden möglichen booleschen Werte sind true (wahr) oder false (falsch). Das Gegenteil von true ist falsch. Wenn die automatische Typisierung true in eine Zahl umwandelt, wird daraus 1. Bei der Umwandlung von true in einen String wird der Wert zu einem literalen true.

Parameter

Beispiel
Verwendung dieses Beispiels
Das folgende Beispiel veranschaulicht die Verwendung von true in einer if-Anweisung:
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");
// }
Das folgende Beispiel veranschaulicht die Umwandlung von true durch die automatische Typisierung in den Wert 1:
var myNum:Number;
myNum = 1 + true;
trace(myNum); // 2

Verwandte API-Elemente

try..catch..finallyAnweisung 
Verwendung

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

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

Schließt einen Codeblock ein, in dem ein Fehler auftreten kann, und reagiert anschließend auf den Fehler. Ausnahmebehandlung, die mit den try..catch..finally-Anweisungen implementiert wird, ist der primäre Mechanismus für die Verarbeitung von Fehlerbedingungen in ActionScript 3.0. Wenn ein Laufzeitfehler auftritt, gibt Flash Player eine Ausnahme aus, was bedeutet, dass Flash Player nicht mehr normal ausgeführt wird und ein spezielles Objekt des Typs Error erstellt. Dann übergibt Flash Player das fehlerhafte Objekt an den ersten verfügbaren catch-Codeblock. Falls keine catch-Codeblöcke verfügbar sind, wird die Ausnahme als eine nicht abgefangene Ausnahme angesehen. Nicht abgefangene Ausnahmen führen dazu, dass das Skript abgebrochen wird.

Sie können die Anweisung throw dazu verwenden, explizit Ausnahmen in Ihrem Code auszugeben. Sie können jeden Wert ausgeben, am besten bewährt hat sich jedoch die Ausgabe eines Objekts, da es eine gewisse Flexibilität aufweist und dem Verhalten von Flash Player entspricht.

Um eine Ausnahme abzufangen, platzieren Sie den Code, der einen Ausnahmefehler ausgibt, in einem try-Codeblock. Dabei spielt es keine Rolle, ob der Ausnahmefehler von Flash Player oder Ihrem Code ausgegeben wird. Wenn durch einen Code innerhalb des try-Codeblocks ein Ausnahmefehler ausgegeben wird, wird die Steuerung ggf. an den catch-Block und anschließend ggf. an den finally-Codeblock übergeben. Der finally-Block wird immer ausgeführt, unabhängig davon, ob ein Ausnahmefehler ausgegeben wurde. Auch wenn der Code im try-Block keinen Ausnahmefehler ausgibt (der try-Block also normal ausgeführt wird), wird der Code im catch-Block ignoriert, aber der Code im finally-Block wird trotzdem ausgeführt. Der finally-Block wird selbst dann ausgeführt, wenn der try-Block vorhanden ist und die Anweisung return verwendet wird.

Auf einen try-Block müssen entweder ein catch-Block, ein finally-Block oder beide Blöcke folgen. Ein einzelner try-Block kann mehrere catch-Blöcke enthalten, jedoch nur einen finally-Block. Sie können try-Blöcke über beliebig viele Ebenen ineinander verschachteln.

Der error-Parameter, der in einer catch-Prozedur angegeben wurde, muss ein einfacher Bezeichner wie e, theException oder x sein. Der Parameter kann auch typisiert sein. Wenn mehrere catch-Blöcke verwendet werden, können Sie mit typisierten Parametern mehrere Fehlertypen abfangen, die von einem einzigen try-Block ausgegeben wurden.

Wenn die ausgegebene Ausnahme ein Objekt ist, ist der Typ korrekt, sofern das erzeugte Objekt eine Unterklasse des angegebenen Typs ist. Wenn ein Fehler eines bestimmten Typs erzeugt wird, wird der catch-Block ausgeführt, der den entsprechenden Fehler abfängt. Wenn eine Ausnahme eines nicht angegebenen Typs erzeugt wird, wird der catch-Block nicht ausgeführt, und die Ausnahme wird automatisch vom try-Block an eine passende catch-Prozedur übergeben.

Wenn ein Fehler innerhalb einer Funktion ausgegeben wird und die Funktion keine catch-Prozedur enthält, wird diese Funktion sowie alle Aufruffunktionen von Flash Player beendet, bis ein catch-Block gefunden wird. Während dieses Prozesses werden auf allen Ebenen finally-Prozeduren aufgerufen.

Hinweis: Wenn Sie in einem Versuchsblock sind, gibt es einen Ereignisverteiler, der seinen Ereignishandler aufruft. Der Erfassungsblock erfasst den Fehler nicht, wenn er in einem Ereignishandler auftritt. Jeder Fehler, der anschließend ausgegeben wird, kann von LoaderInfo.uncaughtErrorEvents erfasst werden.

Parameter
error:* — Der durch eine throw-Anweisung ausgegebene Ausdruck, normalerweise eine Instanz der Fehlerklasse oder einer ihrer Unterklassen.

Beispiel
Verwendung dieses Beispiels
Im folgenden Beispiel wird eine try..catch-Anweisung verarbeitet wird. Der Code innerhalb des try-Blocks enthält einen ungültigen Vorgang. Ein Sprite-Grafikobjekt kann sich nicht selbst als ein untergeordnetes Element hinzufügen. Aus diesem Grunde gibt Flash Player einen Ausnahmefehler aus und übergibt ein Objekt des Typs „ArgumentError“ an den entsprechenden catch-Block.
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.
}
Im folgenden Beispiel sind die RecordSetException- und MalformedRecord-Objekte Unterklassen der Error-Klasse.
class RecordSetException extends Error { 
	public function RecordSetException () {
		message = "Record set exception occurred."; 
	}
}

class MalformedRecord extends Error { 
	public function MalformedRecord {
		message = "Malformed record exception occurred."; 
	}
}
Mit der Methode sortRows() der Klasse RecordSet wird je nach aufgetretenem Ausnahmetyp eines der vorher definierten Fehlerobjekte ausgegeben. Das folgende Beispiel veranschaulicht, wie dieser Code aussehen kann:
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; 
	}
}
Der folgende Code ruft die Methode sortRows() für eine Instanz der RecordSet-Klasse auf. Er definiert catch-Blöcke für jeden Fehlerobjekttyp, der durch sortRows() ausgegeben wird.
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()); 
}

Verwandte API-Elemente

use namespaceDirektive 
Verwendung

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

Führt dazu, dass die angegebenen Namespaces zum Satz der offenen Namespaces hinzuaddiert werden. Die angegebenen Namespaces werden aus dem Satz der offenen Namespaces entfernt, wenn der aktuelle Codeblock beendet wird. Die Direktive use namespace kann auf der obersten Ebene eines Programms, einer Paketdefinition oder Klassendefinition erscheinen.

Parameter
nsN:Namespace — Mindestens ein Namespace wird zum Satz der offenen Namespaces hinzuaddiert.

Verwandte API-Elemente

varDefinitions-Schlüsselwort 
Verwendung

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

Gibt eine Variable an. Wenn Sie Variablen innerhalb einer Funktion deklarieren, sind die Variablen lokal. Sie sind ausschließlich in dieser Funktion definiert und verlieren am Ende des Funktionsaufrufs ihre Gültigkeit.

Sie können eine Variable, die innerhalb eines anderen Objekts gültig ist, nicht als lokale Variable deklarieren.

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

Sie können einer Variablen einen Datentyp zuweisen, indem Sie einen Doppelpunkt (:) gefolgt von dem Datentyp anhängen.

Außerdem haben Sie die Möglichkeit, mehrere Variablen mit nur einer Anweisung zu deklarieren, indem Sie die einzelnen Deklarationen mit Kommata trennen (wenn auch auf Kosten der syntaktischen Klarheit des Codes):

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

Parameter
variableName:* — Ein Bezeichner.

Beispiel
Verwendung dieses Beispiels
Der folgende ActionScript-Code erstellt ein neues Array mit Produktnamen. Array.push fügt am Ende des Arrays ein Element hinzu
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

Verwandte API-Elemente

whileAnweisung 
Verwendung

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

Wertet eine Bedingung aus. Ergibt die Bedingung den Wert true, wird mindestens eine Anweisung ausgeführt, bevor die Logik zum Beginn der Schleife zurückkehrt und die Bedingung erneut auswertet. Bei false werden die nachfolgenden Anweisungen übersprungen und die Schleife endet.

Die Anweisung while führt folgende Schritte durch: Jede Wiederholung der Schritte 1 bis 4 wird als eine iteration der Schleife bezeichnet. Die Bedingung wird wie in den folgenden Schritten zu Beginn jeder Iteration erneut getestet:

  1. Der Ausdruck condition wird ausgewertet.
  2. Wenn condition als true ausgewertet wird oder als ein Wert, der in den booleschen Wert true umgewandelt werden kann, z. B. in eine Zahl ungleich Null, fahren Sie mit Schritt 3 fort. Andernfalls wird die Anweisung while vollständig ausgeführt und die Ausführung wird mit der nächsten Anweisung nach der Schleife whilefortgesetzt.
  3. Der Anweisungsblock statement(s) wird ausgeführt. Wenn eine continue-Anweisung auftritt, überspringen Sie die verbleibenden Anweisungen und gehen zu Schritt 1. Wenn jedoch eine break-Anweisung auftritt, wird die while-Anweisung vollständig ausgeführt und die Ausführung setzt mit der nächsten Anweisung nach der while-Schleife fort.
  4. Weiter mit Schritt 1.

Schleifen werden in der Regel zur Ausführung einer Aktion in Abhängigkeit von einer Zählervariablen verwendet, die unter einem bestimmten Wert liegen muss. Am Ende jeder Schleife wird der Zähler erhöht, bis der angegebene Wert erreicht ist. An dieser Stelle hat der Parameter condition nicht mehr den Wert true, und die Schleife wird beendet.

Die geschweiften Klammern ({}), die die von der while-Anweisung auszuführenden Anweisungen einschließen, sind nicht erforderlich, wenn nur eine Anweisung ausgeführt wird.

Parameter
condition:Boolean — Ein Ausdruck, der den Wert „true“ oder „false“ haben kann.

Beispiel
Verwendung dieses Beispiels
Im folgenden Beispiel wird mithilfe einer while-Anweisung ein Ausdruck geprüft. Ist der Wert von i kleiner als 20, wird der Wert von i ausgegeben. Sobald die Bedingung nicht mehr erfüllt ist (true), wird die Schleife verlassen.
var i:Number = 0; 
while (i < 20) { 
	trace(i); 
	i += 3; 
}
/*
0 
3 
6 
9 
12
15 
18
*/

Verwandte API-Elemente

withAnweisung 
Verwendung

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

Richtet ein Standardobjekt ein, das für die Ausführung einer oder mehrerer Anweisungen verwendet werden soll. Auf diese Weise reduzieren Sie die Menge an Code, die geschrieben werden muss.

Der Parameter object wird zum Kontext, in dem die Eigenschaften, Variablen und Funktionen im Parameter statement(s) interpretiert werden. Angenommen object ist my_array und zwei der angegebenen Eigenschaften sind length und concat werden diese Eigenschaften automatisch als my_array.length und my_array.concat gelesen. Wenn object in einem anderen Beispiel den Wert state.california hat, werden Aktionen oder Anweisungen innerhalb der with-Anweisung innerhalb der Instanz california aufgerufen.

Um den Wert eines Bezeichners im Parameter statement(s) zu ermitteln, beginnt ActionScript am Anfang der durch object angegebenen Gültigkeitsbereichskette und sucht in einer bestimmten Reihenfolge auf jeder Stufe der Gültigkeitsbereichskette nach diesem Bezeichner.

Die in der with-Anweisung zum Auflösen von Bezeichnern verwendete Gültigkeitsbereichskette beginnt mit dem ersten und endet mit dem letzten der in der folgenden Liste aufgeführten Elemente:

  • Das im Parameter object der innersten with-Anweisung angegebene Objekt.
  • Das im Parameter object der äußersten with-Anweisung angegebene Objekt.
  • Das Aktivierungsobjekt (ein temporäres Objekt, das automatisch beim Aufruf einer Funktion erstellt wird und die in der Funktion aufgerufenen lokalen Variablen enthält).
  • Das Objekt, in dem das zurzeit ausgeführte Skript enthalten ist.
  • Das globale Objekt (vordefinierte Objekte, z. B. „Math“ oder „String“).

Um eine Variable innerhalb einer with-Anweisung setzen zu können, muss die Variable bereits außerhalb der with-Anweisung deklariert worden sein. Andernfalls müssen Sie den vollständigen Pfad zur Zeitleiste eingeben, in der die Variable verwendet werden soll. Wenn Sie eine Variable innerhalb einer with-Anweisung setzen, die nicht zuvor deklariert wurde, sucht die with-Anweisung deren Wert entsprechend der Gültigkeitsbereichskette. Wenn die Variable noch nicht vorhanden ist, wird der neue Wert auf der Zeitleiste gesetzt, über die die with-Anweisung aufgerufen wurde.

Parameter
object:Object — Eine Instanz eines ActionScript-Objekts oder Movieclips.

Beispiel
Verwendung dieses Beispiels
Im folgenden Beispiel werden die Eigenschaften _x und _y der Instanz someOther_mc gesetzt. Anschließend wird someOther_mc auf Bild 3 gesetzt und angehalten. with (someOther_mc) { _x = 50; _y = 100; gotoAndStop(3); } Der folgende Codeausschnitt bewirkt das Gleiche, verwendet jedoch keine with-Anweisung. someOther_mc._x = 50; someOther_mc._y = 100; someOther_mc.gotoAndStop(3); Die Anweisung with bietet sich für den Zugriff auf mehrere Elemente in einer Gültigkeitsbereichskette gleichzeitig an. In dem folgenden Beispiel wird das integrierte Math-Objekt an die erste Position der Gültigkeitsbereichskette gestellt. Wenn Sie „Math“ als Standardobjekt festlegen, werden die Bezeichner cos, sin und PI entsprechend zu Math.cos, Math.sin und Math.PI aufgelöst. Die Bezeichner a, x, y und r sind keine Methoden oder Eigenschaften des Math-Objekts, sondern werden zu den entsprechenden lokalen Variablen aufgelöst, da sie sich im Aktivierungsbereich der Funktion polar() befinden.
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 ]Warum auf Englisch?
Inhalt des ActionScript 3.0-Referenzhandbuchs wird in englischer Sprache angezeigt

Nicht alle Teile des ActionScript 3.0-Referenzhandbuchs wurden in alle Sprachen übersetzt. Wenn der Text zu einem Sprachelement nicht übersetzt wurde, wird er auf Englisch angezeigt. Zum Beispiel wurden die Informationen zur ga.controls.HelpBox-Klasse nicht in andere Sprachen übersetzt. In der deutschen Version des Referenzhandbuchs erscheint der Abschnitt zur ga.controls.HelpBox-Klasse deshalb auf Englisch.