关于 ActionScript 和事件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

关于 ActionScript 和事件
在 Macromedia Flash Basic 8 和 Macromedia Flash Professional 8 中,事件发生时会执行 ActionScript 代码:例如,在加载影片剪辑时、在进入时间轴上的关键帧时或者在用户单击某个按钮时。

事件可以由用户或系统触发。

用户单击鼠标按钮或按键;在满足特定条件或进程完成(SWF 文件加载、时间轴到达特定的帧、图形完成下载等)时,系统会触发相关事件。

事件发生时,您应编写一个事件处理函数,从而在该事件发生时让一个动作响应该事件。

了解事件发生的时间和位置将有助于您确定在什么位置、以什么样的方式用一个动作响应该事件,以及在各种情况下分别应该使用哪些 ActionScript 工具。

有关更多信息,请参见关于通过编写脚本来处理事件。

事件可以划分为以下几类:鼠标和键盘事件,发生在用户通过鼠标和键盘与Flash 应用程序交互时;剪辑事件,发生在影片剪辑内;帧事件,发生在时间轴上的帧中。

有关可以编写处理事件的脚本的种类的信息,请参见关于通过编写脚本来处理事件。

鼠标和键盘事件
用户与 SWF 文件或应用程序交互时触发鼠标和键盘事件。

例如,当用户滑过一个按钮时,将发生 Button.onRollOver 或 on(rollOver) 事件;当用户单击某个按钮时,将发生 Button.onRelease 事件;如果按下键盘上的某个键,则发生on(keyPress) 事件。

可在帧上编写代码或向实例附加脚本,以处理这些事件以及添加所需的所有交互操作。

剪辑事件
在影片剪辑中,您可以响应用户进入或退出场景或使用鼠标或键盘与场景进行交互时触发的多个剪辑事件。

例如,可以在用户进入场景时将外部 SWF 文件或 JPG 图像加载到影片剪辑中,或允许用户使用移动鼠标的方法在场景中调整元素的位置。

帧事件
在主时间轴或影片剪辑时间轴上,当播放头进入关键帧时会发生系统事件 -- 这叫做帧事件。

帧事件可用于根据时间的推移(沿时间轴移动)触发动作或与舞台上当前显示的元素交互。

如果向一个关键帧中添加了一个脚本,则在回放期间到达该关键帧时将执行该脚本。

附加到帧上的脚本称为帧脚本。

帧脚本最常见的一种用法是在到达特定的关键帧后停止回放。

这是使用 stop() 函数实现的。

您可以选择一个关键帧,然后将 stop() 函数作为脚本元素添加到"动作"面板中。

组织 ActionScript 代码
您可以将脚本附加到关键帧和对象实例(影片剪辑、按钮和其它元件)中。

但是,如果您的 ActionScript 代码散布于多个关键帧和对象实例中,调试您的应用程序将非常困难。

另外,这还会导致难于在不同的 Flash 应用程序之间共享代码。

因此,在 Flash 中创建 ActionScript 时遵循编码最佳做法是非常重要的。

不要将脚本附加到关键帧、影片剪辑和按钮这些元素中,而应通过调用一些驻留在一个中心位置的函数来响应事件。

一种办法是,尽可能将嵌入的 ActionScript 附加到时间轴的第一帧或第二帧,这样您就不必搜索 FLA 文件来查找所有代码了。

常见的做法是创建一个名为动作的图层,并将 ActionScript 代码放置在该图层上。

在将所有脚本附加到各个元素时,同时也会将所有代码嵌入到 FLA 文件中。

如果在其它 Flash 应用程序之间共享代码对您来说很重要,请使用"脚本"窗口或您最喜爱的文本编辑器来创建一个外部 ActionScript (AS) 文件。

通过创建外部文件,您的代码将更加模块化,组织结构也更好。

随着项目的扩展,这种简便性带来的好处将超出您的想像。

如果您在与其他开发人员共同开发一个项目,外部文件还有助于进行调试和源文件控制管理。

若要使用外部 AS 文件中包含的 ActionScript 代码,您可以在 FLA 中创建一个脚本,然后使用 #include 语句来访问存储在外部的代码,如下例所示:
#include "../core/Functions.as"
您还可以使用 ActionScript 2.0 来创建自定义类。

您必须将自定义类存储在外部 AS 文件中,并在脚本中使用 import 语句来使类导出到 SWF 文件中,而不要使用 #include 语句。

有关编写类文件的更多信息,请参见编写自定义类文件;有关导入类文件的更多信息,请参见关于导入类文件。

还可以使用组件(预构建的影片剪辑)共享代码和功能,例如 UI 元素和脚本。

注意发布、导出、测试或调试 FLA 文件时,外部文件中的 ActionScript 代码将被编译成 SWF 文件。

因此,如果对一个外部文件进行了任何更改,则必须保存该文件,并重新编译使用该文件的任何 FLA 文件。

在 Flash 8 中编写 ActionScript 时,应使用"动作"面板或"脚本"窗口,或两者同时使用。

是使用"动作"面板还是"脚本"窗口取决于您如何响应事件、如何组织代码,而最重要的是,取决于编码最佳做法的要求。

有关编码最佳做法和惯例的更多信息,请参见ActionScript 编码约定。

采用行为(预定义的 ActionScript 函数)时(请参见关于行为),必须考虑其它工作流程和代码组织事项。

关于通过编写脚本来处理事件
编写事件代码可以分为两大类:在时间轴上(在关键帧中)发生的事件和在对象实例(影片剪辑、按钮和组件)上发生的事件。

SWF 文件或应用程序的交互可以散布于项目中的多个元素中,您可能很想试一试直接将脚本添加给这些元素。

但是,Macromedia 建议不要直接将脚本添加给这些元素(关键帧和对象)。

您应该转而通过调用驻留在一个中心位置的函数来响应事件,如组织 ActionScript 代码中所述。

于"动作"面板
使用"动作"面板在 Flash 文档(FLA 文件)中创建 ActionScript。

"动作"面板由三个窗格构成,每个窗格都为创建和管理脚本提供支持。

"动作"工具箱使用"动作"工具箱浏览 ActionScript 语言元素(函数、类、类型等)的分类列表,然后将其插入到"脚本"窗格中。

要将脚本元素插入到"脚本"窗格中,您可以双击该元素,或直接将它拖动到"脚本"窗格中。

还可以使用"动作"面板工具栏中的"添加"(+) 按钮来将语言元素添加到脚本中。

有关更多信息,请参见关于"动作"面板和"脚本"窗口工具栏。

脚本导航器脚本导航器可显示包含脚本的 Flash 元素(影片剪辑、帧和按钮)的分层列表。

使用脚本导航器可在 Flash 文档中的各个脚本之间快速移动。

如果单击脚本导航器中的某一项目,则与该项目关联的脚本将显示在"脚本"窗格中,并且播放头将移到时间轴上的相应位置。

如果您双击脚本导航器中的某一项,则该脚本将被固定(就地锁定)。

有关更多信息,请参见将脚本固定在"动作"面板中。

"脚本"窗格在"脚本"窗格中键入代码。

"脚本"窗格为您在一个全功能编辑器(称作ActionScript 编辑器)中创建脚本提供了必要的工具,该编辑器中包括代码的语法格式设置和检查、代码提示、代码着色、调试以及其它一些简化脚本创建的功能。

有关更多信息,请参见使用"动作"面板和"脚本"窗口。

有关"动作"面板工具栏中各个按钮的信息,请参见关于在"动作"面板和"脚本"窗口中编码。

有关"动作"面板功能的更多信息,请参见以下主题:
∙关于"动作"面板和"脚本"窗口工具栏
∙关于 ActionScript 编辑选项
∙关于 Flash 中的代码提示
∙设置代码格式
∙使用语法加亮显示
∙使用行号和自动换行
∙使用 Escape 快捷键
∙显示隐藏字符
∙使用"查找"工具
∙检查语法和标点
∙导入和导出脚本
于"脚本"窗口
创建新的 ActionScript、Flash Communication 或 Flash JavaScript 文件时,可以在"脚本"窗口中编写和编辑 ActionScript。

应使用"脚本"窗口编写和编辑外部脚本文件。

"脚本"窗口中支持语法着色、代码提示和其它编辑器选项。

可以在"脚本"窗口中创建外部 ActionScript、ActionScript 通信和 Flash JavaScript 文件。

根据您所创建的外部脚本文件的类型,"动作"工具箱将为您提供可用于各种类型的语言元素的完整列表。

在使用"脚本"窗口时,您会发现有些代码帮助功能(如脚本导航器、"脚本助手"模式和"行为")不可用。

这是因为这些功能仅在创建 Flash 文档时才有用,在创建外部脚本文件时用不到。

您还会注意到,在"动作"面板中提供的许多选项在"脚本"窗口中也不可用。

"脚本"窗口支持以下编辑器选项:"动作"工具箱、查找和替换、语法检查、自动套用格式、代码提示和调试选项(仅限于 ActionScript 文件)。

另外,"脚本"窗口支持显示行号、隐藏字符和自动换行。

关于"动作"面板和"脚本"窗口工具栏
"动作"面板和"脚本"窗口工具栏中包含指向代码帮助功能的链接,有助于简化在ActionScript 中进行的编码工作。

根据您使用的是"动作"面板还是"脚本"面板中的 ActionScript 编辑器,工具栏有所不同。

下图显示了"动作"面板工具栏中包含的功能。

标出的选项仅在"动作"面板中可用。

工具栏中的功能将在使用"动作"面板和"脚本"窗口中进行详细讨论。

随后提供了对"动作"面板和"脚本"窗口工具栏中按钮的概要。


以下一些选项仅在"动作"面板中提供。

这些功能将标记为仅限"动作"面板。


将新项目添加到脚本中显示 ActionScript 工具箱中也有的所有语言元素。

从语言元素的分类列表中选择一项添加到脚本中。

查找在 ActionScript 代码中查找和替换文本。

有关更多信息,请参见使用"查找"工具。

插入目标路径仅限"动作"面板。

帮助您为脚本中的某个动作设置绝对或相对目标路径。

有关更多信息,请参见插入目标路径。

语法检查检查当前脚本中的语法错误。

语法错误列在"输出"面板中。

有关更多信息,请参见检查语法和标点。

自动套用格式设置您的脚本的格式以实现正确的编码语法和更好的可读性。

可以在"首选参数"对话框中设置自动套用格式首选参数,从"编辑"菜单或通过"动作"面板弹出菜单可访问此对话框。

有关更多信息,请参见设置代码格式。

显示代码提示如果您已经关闭了自动代码提示,可以使用"显示代码提示"手动显示您正在编写的代码行的代码提示。

有关更多信息,请参见关于"脚本助手"。

调试选项在脚本中设置和删除断点,以便在调试 Flash 文档时可以停止然后逐行跟踪脚本中的每一行。

与"动作"面板中一样,现在"脚本"窗口中也提供了调试选项,但仅限于 ActionScript 文件。

此选项对于 ActionScript Communication 和 Flash JavaScript 文件禁用。

有关调试 Flash 文档的更多信息,请参见调试脚本。

有关设置和删除断点的信息,请参见设置和删除断点。

脚本助手仅限"动作"面板。

在"脚本助手"模式中,将提示您输入创建脚本所需的元素。

有关更多信息,请参见关于"脚本助手"。

参考显示针对"脚本"窗格中选中的 ActionScript 语言元素的参考帮助主题。

例如,如果单击 import 语句,再单击"参考",将在"帮助"面板中显示 import 的帮助主题。

弹出菜单仅限"动作"面板。

包含许多适用于"动作"面板或"脚本"窗口的命令和首选参数。

例如,您可以在 ActionScript 编辑器中设置行号和自动换行,访问ActionScript 首选参数,以及导入或导出脚本。

有关更多信息,请参见关于ActionScript 编辑选项。

在 LiveDocs 中查看评论
关于 ActionScript 编辑选项
"脚本"窗口和"动作"面板中还提供了许多代码帮助功能,这些工具大大方便了脚本的编写和维护。

这些工具选项可从"动作"面板或"脚本"窗口工具栏和"动作"面板弹出菜单中获得。

在"脚本"窗口中编辑 ActionScript 时,工具栏和 Flash 菜单系统中会提供这些选项。

"动作"面板提供了比"脚本"窗口中更多的选项。

这是因为这些附加选项在创建嵌入到 Flash 文档中的 ActionScript 的上下文时才有用,但在编写外部ActionScript 文件时用不到。

有关这些选项中哪些在"脚本"窗口中可用的信息,请参见关于"脚本"窗口。

"脚本"窗口和"动作"面板中可用的选项将在关于"动作"面板和"脚本"窗口工具栏中讨论。

以下选项可以从"动作"面板弹出菜单以及"脚本"窗口中的各种菜单中获得。


以下一些选项仅出现在"动作"面板中。

这些功能标记为仅限"动作"面板。


重新加载代码提示仅限"动作"面板。

如果通过编写自定义方法来自定义"脚本助手"模式,则可以重新加载代码提示,而无需重启 Flash 8。

固定脚本仅限"动作"面板。

固定(就地锁定)当前显示在"脚本"窗格中的脚本。

有关更多信息,请参见将脚本固定在"动作"面板中。

关闭脚本仅限"动作"面板。

关闭当前打开的脚本。

关闭所有脚本仅限"动作"面板。

关闭当前打开的所有脚本。

转到行在"脚本"窗格中找到并加亮显示指定的行。

查找和替换在"脚本"窗格中查找和替换脚本中的文本。

有关更多信息,请参见使用"查找"工具。

再次查找重复查找您在"查找"工具中输入的最后一个搜索字符串。

有关更多信息,请参见使用"查找"工具。

导入脚本允许您将脚本文件 (ActionScript) 导入到"脚本"窗格中。

有关更多信息,请参见导入和导出首选参数。

导出脚本将当前的脚本导出到外部 ActionScript (AS) 文件中。

有关更多信息,请参见导入和导出首选参数。

Esc 快捷键快速将常见的语言元素和语法结构输入到脚本中。

例如,在"脚本"窗格中按 Esc+g+p 时,gotoAndPlay() 函数将插入到脚本中。

从"动作"面板弹出菜单中选择"Esc 快捷键"选项后,所有可用的 Escape 快捷键都会出现在"动作"工具箱中。

有关更多信息,请参见使用 Escape 快捷键。

隐藏字符查看脚本中的隐藏字符。

隐藏的字符有空格、制表符和换行符。

有关更多信息,请参见显示隐藏字符。

行号在"脚本"窗格中显示行号。

有关更多信息,请参见使用行号和自动换行。

首选参数仅限"动作"面板。

显示 ActionScript"首选参数"对话框。

有关更多信息,请参见关于 ActionScript 首选参数。

自动换行要使超出"脚本"窗口当前大小的脚本自动换行,请从"动作"面板弹出菜单中选择"自动换行"。

如果使用的是"脚本"窗口,请从"查看"菜单中选择"自动换行"。

有关更多信息,请参见使用行号和自动换行。

将"动作"组合至仅限"动作"面板。

允许您将"动作"面板(包括"动作"工具箱和脚本导航器)与 Flash 创作环境中的其它面板组合在一起。

另外,"动作"面板弹出菜单中还包括"打印"、"帮助"和面板调整命令。

关于 ActionScript 首选参数
无论是在"动作"面板还是在"脚本"窗口中编辑代码,都可以设置和修改一组首选参数。

例如,您可以控制自动缩进、代码提示和着色,以及许多其它基本代码编辑功能。

访问ActionScript 首选参数:
1.若要通过"动作"面板访问FLA 文件中的ActionScript 首选参数,请从弹出菜单中
选择"首选参数"、或选择"编辑">"首选参数"(Windows),或"Flash">"首选参数
"(Macintosh),并单击"类别"列表中的"ActionScript"。

2.若要在"脚本"窗口中访问ActionScript 首选参数,请选择"编辑">"首选参数",然后
单击"ActionScript"(Windows) 或"Flash">"首选参数",然后单击
"ActionScript"(Macintosh)。

下图显示了可以在 Flash 8 中更改的 ActionScript 设置。

可以设置以下首选参数:
自动缩进如果打开了自动缩进,在左括号 ( 或左大括号 { 之后键入的文本将按照 ActionScript 首选参数中的"制表符大小"设置自动缩进。

有关更多信息,请参见设置代码格式。

制表符大小指定自动缩进打开时新行中将偏移的字符数。

代码提示在"脚本"窗格中启用代码提示。

有关使用代码提示的更多信息,请参见关于 Flash 中的代码提示。

延迟指定代码提示出现之前的延迟(以秒为单位)。

字体指定"脚本"窗格中使用的字体。

使用动态字体映射检查以确保所选的字体系列具有呈现每个字符所必需的字型。

如果没有,Flash 会替换上一个包含必需字符的字体系列。

有关更多信息,请参见设置代码格式。

编码指定打开、保存、导入和导出 ActionScript 文件时使用的字符编码。

有关更多信息,请参见导入和导出脚本。

重新加载修改过的文件可以选择何时查看有关脚本文件是否修改、移动或删除的警告。

可选的选项包括"总是"、"从不"或"提示"。

∙总是发现更改时不显示警告,自动重新加载文件。

∙从不发现更改时不显示警告,文件保留当前状态。

∙提示(默认)发现更改时显示警告,可以选择是否重新加载文件。

构建涉及到外部脚本文件的应用程序时,因为已打开应用程序,所以此功能可以帮助您避免覆盖团队成员已修改过的脚本,还可以防止使用旧的脚本版本发布应用程序。

警告允许您自动关闭脚本,重新打开较新的修改后的版本。

语法颜色指定脚本中代码着色的颜色。

启用代码着色后,可以选择在"脚本"窗格中显示的颜色。

语言打开"ActionScript 设置"对话框。

有关更多信息,请参见修改类路径。

关于触发代码提示
在"动作"面板中或"脚本"窗口中工作时,Flash 可以检测到正在输入的动作并显示代码提示。

有两种不同样式的代码提示:包含该动作的完整语法的工具提示,和列出可能的方法或属性名的弹出菜单(有时被称为代码完成的一种形式)。

当您严格指定对象类型或严格命名对象时,会出现参数、属性和事件的弹出菜单,在本节剩下的部分中将对此进行讨论。

如果您双击"动作"工具箱中的某一项或单击"动作"面板/"脚本"窗口工具栏中的"添加"(+)按钮,以向"脚本"窗格添加动作,则有时会出现代码提示。

有关在代码提示出现时如何使用它们的信息,请参见使用代码提示。

注将为那些不要求您为其创建和命名类实例的本地类(例如 Math、Key、Mouse
意等)自动启用代码提示。

为确保启用代码提示,必须在 ActionScript"首选参数"对话框中选中"代码提示"选项。

有关更多信息,请参见关于"动作"面板。

关于使用后缀触发代码提示
如果您使用的是 ActionScript 1,或者在创建对象时未严格指定类型(请参见关于通过指定对象类型触发代码提示)而又想显示这些对象的代码提示,则必须在创建每个对象时在其名称后添加特殊后缀。

例如,触发 Array 类和 Camera 类的代码提示的后缀分别是 _array 和 _cam。

例如,如果您键入以下代码
var my_array = new Array();
var my_cam = Camera.get();
您可以键入以下两项中的任意一项(变量名称后面跟有句点):
my_array.
my_cam.
将出现 Array 和 Camera 对象的代码提示。

对于在舞台上出现的对象,请使用属性检查器的"实例名称"文本框中的后缀。

例如,要显示 MovieClip 对象的代码提示,请使用属性检查器为所有 MovieClip 对象指定带有 _mc 后缀的实例名称。

然后,只要您键入实例名称然后再键入一个句点,就会显示代码提示。

尽管在严格指定对象的类型时不需要使用后缀来触发代码提示,但一直使用后缀有助于理解代码。

下表列出了支持自动代码提示所需的后缀:
对象类型变量后缀
Array _array
Button _btn
Camera _cam
Color _color
ContextMenu _cm
ContextMenuItem _cmi
Date _date
Error _err
LoadVars _lv
LocalConnection _lc
Microphone _mic
MovieClip _mc
MovieClipLoader _mcl
PrintJob _pj
NetConnection _nc
NetStream _ns
SharedObject _so
Sound _sound
String _str
TextField _txt
TextFormat _fmt
Video _video
XML _xml
XMLNode _xmlnode
XMLSocket _xmlsocket
有关在代码提示出现时使用它们的信息,请参见使用代码提示。

关于使用注释触发代码提示
您也可以使用 ActionScript 注释来指定对象的类,以用于代码提示。

下面的示例将告诉 ActionScript,实例 theObject 的类是 Object,依此类推。

如果要在这些注释后输入 mc 并后跟句点,将出现代码提示,显示 MovieClip 方法和属性的列表。

如果要输入 theArray 并后跟句点,将出现一个菜单,显示Array 方法和属性的列表,依此类推。

// 对象 theObject;
// 数组 theArray;
// 影片剪辑 theMc;
不过,Macromedia 建议使用严格数据类型指定(请参见关于通过指定对象类型触发代码提示)或使用后缀(请参见关于使用后缀触发代码提示),而不建议使用此技术,因为前面的两种技术自动启用代码提示,从而使代码更易理解。

有关使用代码提示的更多信息,请参见使用代码提示。

使用语法加亮显示
在 ActionScript 中,就像在任何语言中一样,语法是将元素组合在一起产生意义的方式。

如果使用了错误的 ActionScript 语法,脚本将不会运行。

当您在 Flash Basic 8 和 Flash Professional 8 中撰写脚本时,"动作"工具箱中将以黄色显示您的目标播放器版本不支持的命令。

例如,如果 Flash Player
SWF 文件版本设置为 Flash 7,仅受 Flash Player 8 支持的 ActionScript 就在"动作"工具箱中显示为黄色。

(有关设置 Flash Player SWF 文件版本的信息,请参见"使用 Flash"中的为 Flash SWF 文件格式设置发布选项。


您还可以设置首选参数,在编写时对脚本进行 Flash 颜色编码,让您注意到键入错误。

例如,假设您设置语法颜色首选参数,用深蓝色显示关键字。

在您键入代码时,如果键入 var,则单词 var 以蓝色显示。

但是,如果您错误地键入了vae,则单词 vae 将保持为黑色,使您能注意到键入的单词有误。

有关关键字的信息,请参见关于关键字。

使用 Escape 快捷键
您可以通过使用 Escape 快捷键(按下 Escape 键,再按下两个别的键),向脚本添加许多元素。


这些快捷键不同于启动某些菜单命令的快捷键。


例如,如果正在"脚本"窗格中进行工作并按下 Escape+d+o,则会将以下代码放置在脚本中:
do {
} while ();
插入点就放置在单词 while 后面,您可以在此处开始键入条件。

同样,如果您按下 Escape+c+h,则会将以下代码放置在脚本中,插入点就放置在小括号 [()] 之间,您可以在此处开始键入条件:
catch () {
}
如果您要了解(或想得到相关提示)哪些命令具有 Escape 快捷键,则可以在ActionScript 工具箱中的元素旁显示它们。

函数和方法
在编写 ActionScript、创建类和使用方法时,了解各种函数的使用是非常重要的。

在 Flash 8 中有几种不同类型的函数可供使用。

在本章中,您将了解有关函数和方法的知识:在使用内置类时如何在应用程序中使用和编写这些函数。

在类,中,您将创建自定义类,并经常对这些类编写函数。

还将了解到如何在ActionScript 类文件中编写函数。

您可以在自己的代码中利用这些函数向应用程序中添加交互性、动画和其它效果。

本章涵盖了多种可在 Flash 应用程序中编写的函数。

有关各个函数和方法的信息,以及在 Flash 中编写和使用函数及方法的练习,请参见以下主题:
关于函数和方法
了解方法
关于函数和方法
方法和函数是一些可以在 SWF 文件中的任意位置重复使用的 ActionScript 代码块。

您可以在 FLA 文件或外部 ActionScript 文件中编写自己的函数,然后可以从文档内的任意位置调用该函数。

方法只是一些位于 ActionScript 类定义中的函数。

您可以定义函数,对传递的值执行一系列语句。

函数也可以返回值。

在定义了函数后,就可以从任意一个时间轴中调用它,包括加载的 SWF 文件的时间轴。

如果您将值作为参数传递给函数,则函数就可以使用提供的值进行计算。

每个函数都有其各自的特性,而某些函数需要您传递特定类型或数量的值。

如果传递的参数多于函数的需要,该函数将忽略多余的值。

如果您没有传递必需的参数,则函数将为空的参数指定 undefined 数据类型。

这可能导致在运行时出错。

函数也可以返回值(请参见从函数中返回值)。

相关文档
最新文档