Actionscript30自带函数集顶级函数.docx
《Actionscript30自带函数集顶级函数.docx》由会员分享,可在线阅读,更多相关《Actionscript30自带函数集顶级函数.docx(25页珍藏版)》请在冰豆网上搜索。
![Actionscript30自带函数集顶级函数.docx](https://file1.bdocx.com/fileroot1/2023-1/10/267488cd-3dca-4361-9039-3e497e184a14/267488cd-3dca-4361-9039-3e497e184a141.gif)
Actionscript30自带函数集顶级函数
Actionscript3.0自带函数集(顶级函数)
顶级或全局函数在使用ActionScript的SWF文件的任何部分或任何用户定义的类中都可用。
已将ActionScript2.0中的大部分全局函数迁移到类中。
语言版本:
ActionScript3.0
Player版本:
FlashPlayer9
全局函数
函数
定义方
Array(...args):
Array
创建一个新数组。
Top Level
Boolean(expression:
Object):
Boolean
将expression参数转换为布尔值并返回该值。
Top Level
Date():
String
返回当前星期值、日期值、时间和时区的字符串表示形式。
Top Level
decodeURI(uri:
String):
String
将已编码的URI解码为字符串。
Top Level
decodeURIComponent(uri:
String):
String
将已编码的URI组件解码为字符串。
Top Level
encodeURI(uri:
String):
String
将字符串编码为有效的URI(统一资源标识符)。
Top Level
encodeURIComponent(uri:
String):
String
将字符串编码为有效的URI组件。
Top Level
escape(str:
String):
String
将参数转换为字符串,并以URL编码格式对其进行编码,在这种格式中,大多数非字母数字的字符都替换为%十六进制序列。
Top Level
int(value:
Number):
int
将给定数字值转换成整数值。
Top Level
isFinite(num:
Number):
Boolean
如果该值为有限数,则返回true,如果该值为正无穷大或负无穷大,则返回false。
Top Level
isNaN(num:
Number):
Boolean
如果该值为NaN(非数字),则返回true。
Top Level
isXMLName(str:
String):
Boolean
确定指定字符串对于XML元素或属性是否为有效名称。
Top Level
Number(expression:
Object):
Number
将给定值转换成数字值。
Top Level
Object(value:
Object):
Object
在ActionScript3.0中,每个值都是一个对象,这意味着对某个值调用Object()会返回该值。
Top Level
parseFloat(str:
String):
Number
将字符串转换为浮点数。
Top Level
parseInt(str:
String,radix:
uint=0):
Number
将字符串转换为整数。
Top Level
String(expression:
Object):
String
返回指定参数的字符串表示形式。
Top Level
trace(...arguments):
void
调试时显示表达式或写入日志文件。
Top Level
uint(value:
Number):
uint
将给定数字值转换成无符号整数值。
Top Level
unescape(str:
String):
String
将参数str作为字符串计算,从URL编码格式解码该字符串(将所有十六进制序列转换成ASCII字符),并返回该字符串。
Top Level
XML(expression:
Object):
XML
将对象转换成XML对象。
Top Level
XMLList(expression:
Object):
XMLList
将某对象转换成XMLList对象。
Top Level
顶级常量或全局常量在每个脚本中都可用,并且对文档中的所有时间轴和作用域都可见。
全局常量
常量
定义方
Infinity:
Number
表示正无穷大的特殊值。
Top Level
-Infinity:
Number
表示负无穷大的特殊值。
Top Level
NaN:
Number
Number数据类型的一个特殊成员,用来表示“非数字”(NaN)值。
Top Level
undefined:
*
一个适用于尚未初始化的无类型变量或未初始化的动态对象属性的特殊值。
Top Level
常量详细信息
Infinity常量
publicconstInfinity:
Number
表示正Infinity的特殊值。
此常数的值与Number.POSITIVE_INFINITY相同。
另请参见Number.POSITIVE_INFINITY
示例
除以0的结果为Infinity(仅当除数为正数时)。
trace(0/0);//NaN
trace(7/0);//Infinity
trace(-7/0);//-Infinity
-Infinituy常量
publicconst-Infinity:
Number
表示负Infinity的特殊值。
此常数的值与Number.NEGATIVE_INFINITY相同。
另请参见Number.NEGATIVE_INFINITY
示例
除以0的结果为-Infinity(仅当除数为负数时)。
trace(0/0);//NaN
trace(7/0);//Infinity
trace(-7/0);//-Infinity
NaN常量
publicconstNaN:
Number
Number数据类型的一个特殊成员,用来表示“非数字”(NaN)值。
当数学表达式生成的值无法表示为数字时,结果为NaN。
下表描述了生成NaN的常用表达式。
∙除以0可生成NaN(仅当除数也为0时)。
如果除数大于0,除以0的结果为Infinity。
如果除数小于0,除以0的结果为-Infinity;
∙负数的平方根;
∙在有效范围0到1之外的数字的反正弦值;
∙Infinity减去Infinity;
∙Infinity或-Infinity除以Infinity或-Infinity;
∙Infinity或-Infinity乘以0;
NaN值不是int或uint数据类型的成员。
NaN值不被视为等于任何其它值(包括NaN),因而无法使用等于运算符测试一个表达式是否为NaN。
若要确定一个数字是否为NaN函数,请使用isNaN()。
另请参见isNaN()Number.NaN
undefined常量
publicconstundefined:
*
一个适用于尚未初始化的无类型变量或未初始化的动态对象属性的特殊值。
在ActionScript3.0中,只有无类型变量才能采用值undefined,这在ActionScript1.0和ActionScript2.0中并非如此。
例如,以下两个变量都是undefined,因为它们都未类型化或初始化:
∙varfoo;
∙varbar:
*;
undefined值还适用于动态对象的未初始化或未定义的属性。
例如,如果某对象是Object类的一个实例,则除非向该属性赋予值,否则动态添加的任何属性的值将为undefined。
将undefined用于不同的函数时,结果也不相同:
∙由String(undefined)返回的值为"undefined"(undefined转换为字符串)。
∙由Number(undefined)返回的值为NaN。
∙由int(undefined)和uint(undefined)返回的值为0。
∙由Object(undefined)返回的值为新的Object实例。
∙向类型变量赋予值undefined时,该值将转换为该数据类型的默认值。
不要混淆undefined和null。
使用等于运算符(==)对null和undefined进行比较时,它们的比较结果为相等。
但是,使用全等运算符(===)对null和undefined进行比较时,它们的比较结果为不相等。
另请参见null
示例
在以下示例中,将声明(但不初始化)一个无类型变量myVar。
myVar的值为undefined,因为该变量是一个无类型变量。
无论变量是没有类型注释,还是使用特殊的(*)无类型注释(varmyVar:
*;),都是如此。
/*tracevalueofuntypedanduninitializedvariable*/
varmyVar;
trace(myVar);//undefined
该规则同样适用于动态对象的未初始化属性。
例如,给定实例obj(属于动态类A),obj.propName(obj实例的未初始化属性)的值为undefined。
dynamicclassA{}
varobj:
A=newA()
//traceundefinedpropertyofobj
trace(obj.propName);//undefined
函数详细信息
Array()函数
publicfunctionArray(...args):
Array
创建一个新数组。
可以是长度为0或大于0的数组,也可以是由一组指定元素(可能具有不同的数据类型)填充的数组。
所使用参数的数目和数据类型决定了返回数组的内容。
∙在不使用参数的情况下调用Array()会返回空的数组。
∙使用单个整数参数调用Array()可返回具有指定长度的数组,但数组元素具有未定义的值。
∙使用一组指定值调用Array()将返回由包含各个指定值的元素构成的数组。
使用Array()函数类似于使用Array类构造函数创建数组。
当参数不是原始值时,应使用as运算符进行显式类型转换或类型转换。
有关详细信息,请参阅本条目的“示例”部分。
参数
...args—不传递参数可以创建空数组,传递单个整数参数可以创建具有特定长度的数组,传递一系列由逗号分隔的具有各种类型的值可创建使用这些值填充的数组。
返回
Array—长度为0或大于0的数组。
另请参见Arrayclassasoperator
示例
下面的示例演示Array()函数在参数不是原始值时的行为。
转换为数组的一种常见用法是转换以数组格式存储值的Object实例。
如果调用Array()时使用了Object类型或其它任何非原始数据类型的参数,则对对象的引用将存储在新数组的元素中。
也就是说,如果传递的唯一参数是一个对象,则对该对象的引用将成为新数组的第一个元素。
varobj:
Object=["a","b","c"];
varnewArray:
Array=Array(obj);
trace(newArray==obj);//false
trace(newArray[0]==obj);//true
trace(newArray[0][0]);//a
trace(newArray[0][1]);//b
trace(newArray[0][2]);//c
若要将obj转换为数组,请使用as运算符,它将在obj为有效数组的情况下返回数组引用,否则返回null:
varobj:
Object=["a","b","c"];
varnewArray:
Array=objasArray;
trace(newArray==obj);//true
trace(newArray[0]);//a
trace(newArray[1]);//b
trace(newArray[2]);//c
Boolean()函数
publicfunctionBoolean(expression:
Object):
Boolean
将expression参数转换为布尔值并返回该值。
返回值取决于参数的数据类型和值,如下表所述:
输入值
示例
返回值
0
Boolean(0)
false
NaN
Boolean(NaN)
false
数字(非0或NaN)
Boolean(4)
true
空字符串
Boolean("")
false
非空字符串
Boolean("6")
true
null
Boolean(null)
false
undefined
Boolean(undefined)
false
Object类的实例
Boolean(newObject())
true
无参数
Boolean()
false
与ActionScript的早期版本不同,Boolean()函数与Boolean类构造函数返回相同的结果。
参数
expression:
Object—要转换为Boolean的表达式或对象。
返回
Boolean—转换为Boolean的结果。
另请参见数据类型说明类型转换
Date()函数
publicfunctionDate():
String
返回当前星期值、日期值、时间和时区的字符串表示形式。
输出的日期格式为:
DayMonDateHH:
MM:
SSTZDYYYY
例如:
WedApr1215:
30:
17GMT-07002006
若要将某个值转换为Date类型,请使用xasDate代替Date(x)。
返回
String—作为String数据类型的当前日期。
Date()的返回值与Date.toString()的返回值相同。
另请参见Dateclassasoperator
decodeURI()函数
publicfunctiondecodeURI(uri:
String):
String
将已编码的URI解码为字符串。
返回一个字符串,其中以前由encodeURI函数编码的所有字符都还原为它们的未编码表示形式。
下表显示不会由decodeURI函数解码为字符的转义序列的集合。
使用decodeURIComponent()可解码此表中的转义序列。
未解码的转义序列
字符等效形式
%23
#
%24
$
%26
&
%2B
+
%2C
%2F
/
%3A
:
%3B
;
%3D
=
%3F
?
%40
@
参数
uri:
String—一个使用encodeURI函数编码的字符串。
返回
String—一个字符串,其中以前由encodeURI函数转义的所有字符都还原为它们的未转义表示形式。
另请参见decodeURIComponent()encodeURI()encodeURIComponent()
示例
package{
importflash.display.Sprite;
publicclassDecodeURIExampleextendsSprite{
publicfunctionDecodeURIExample(){
varuri:
String="name='someuser'>";
varencoded:
String=encodeURI(uri);
vardecoded:
String=decodeURI(encoded);
trace(uri);/*name='someuser'>*/
trace(encoded);/**/
trace(decoded);/*name='someuser'>*/
}
}
}
decodeURIComponent()函数
publicfunctiondecodeURIComponent(uri:
String):
String
将已编码的URI组件解码为字符串。
返回一个字符串,其中以前由encodeURIComponent函数转义的所有字符都还原为它们的未编码表示形式。
此函数与decodeURI()函数不同,它仅适用于URI字符串的一部分(称为URI组件)。
URI组件是指出现在某些特殊字符之间的任何文本,这些特殊字符称为组件分隔符(:
/;and?
).“http”和“”是常见的URI组件示例。
此函数与decodeURI()的另一个重要区别是:
由于此函数假定它处理的是URI组件,因此它会将表示特殊分隔符字符(;/?
:
@&=+$,#)的转义序列视为应进行解码的常规文本。
参数
uri:
String—一个使用encodeURIComponent函数编码的字符串。
返回
String—一个字符串,其中以前由encodeURIComponent函数转义的所有字符都还原为它们的未转义表示形式。
另请参见decodeURI()encodeURI()encodeURIComponent()
encodeURI()函数
publicfunctionencodeURI(uri:
String):
String
将字符串编码为有效的URI(统一资源标识符)。
将完整的URI转换为一个字符串,其中除属于一小组基本字符的字符外,其它所有字符都编码为UTF-8转义序列。
下表显示不会由encodeURI函数转换为UTF-8转义序列的基本字符的整个集合。
未编码的字符
0123456789
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
;/?
:
@&=+$,#
-_.!
~*'()
参数
uri:
String—一个表示完整URI的字符串。
返回
String—一个字符串,其中某些字符已编码为UTF-8转义序列。
另请参见decodeURI()decodeURIComponent()encodeURIComponent()
示例
package{
importflash.display.Sprite;
publicclassEncodeURIExampleextendsSprite{
publicfunctionEncodeURIExample(){
varuri:
String="name='someuser'>";
varencoded:
String=encodeURI(uri);
vardecoded:
String=decodeURI(encoded);
trace(uri);/*name='someuser'>*/
trace(encoded);/*
trace(decoded);/*name='someuser'>*/
}
}
}
encodeURIComponent()函数
publicfunctionencodeURIComponent(uri:
String):
String
将字符串编码为有效的URI组件。
将URI的子字符串转换为以下字符串:
除属于非常小的一组基本字符的字符外,其它所有字符都编码为UTF-8转义序列。
encodeURIComponent()函数与encodeURI()函数不同,它仅适用于URI字符串的一部分(称为URI组件)。
URI组件是指出现在某些特殊字符之间的任何文本,这些特殊字符称为组件分隔符(:
/;and?
).“http”和“”是常见的URI组件示例。
此函数与encodeURI()的另一个重要区别是:
由于此函数假定它处理的是URI组件,因此它会将特殊分隔符字符(;/?
:
@&=+$,#)视为应进行编码的常规文本。
下表显示不会由encodeURIComponent函数转换为UTF-8转义序列的所有字符。
未编码的字符
0123456789
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
-_.!
~*'()
参数
uri:
String
返回
String
另请参见decode