|

- 帖子
- 177
- 积分
- 74
- 技术分
- 30
- 在线时间
- 165 小时
- 注册时间
- 2004-9-23
|
1#
发表于 2007-10-11 08:23
| 只看该作者
★AS2查漏补缺[2007.10.10更新]
★序言:这半年由于要做一个比较大的AS2项目,估计没时间学AS3了,只好利用业余时间对AS2进行最后一次查漏补缺,计划把FLASH8帮助里的《AS 2.0 语言参考》从头到尾仔细看一遍,然后把自己不知道的,或者长时间不用已经淡忘的小知识点不定期更新在这篇帖子里,大家如果有兴趣可以常来看看,也许有些知识点你也不曾注意到哦:)
★寂寞火山:http://www.huoshan.org/boKe/boKe.html#id=117
→如果对包含 #include 语句的脚本使用"语法检查"按钮,则也会检查所包括文件的语法。
→#initclip指令,可以改变编译器编译AS的固有顺序,将任意MC的时间轴变量转换成_root上的变量。
→newline常数,相当于一个“\r”,起换行作用。
→escape函数,对字符串进行URL编码,用IE打开一个包含中文字体路径的网页,然后看地址栏,就可以直观的体验到什么是URL编码了。
→fscommand的exec指令是用来在本地打开.exe文件的,但有三个限制条件:
1,FLASH要发布为EXE。
2,要调用的.exe文件必须位于flash所在目录的子目录“fscommand”中。
3,注意调用的文件路径是your.exe,而不是fscommand/your.exe
→isFinite(expression:Object)函数:计算expression,如果结果为有限数,则返回 true;如果为无穷大或负无穷大,则返回 false。无穷大或负无穷大的出现指示有错误的数学条件,例如除以 0。
→parseFloat(string:String):将字符串转换为浮点数。此函数读取或分析 并返回字符串中的数字,直到此函数遇到不是初始数字一部分的字符。如果字符串不是以可以分析的数字开头,parseFloat() 将返回 NaN。有效整数前面的空白将被忽略,有效整数后面的非数字字符也将被忽略。
→parseInt(expression:String, [radix:Number]):与parseFloat函数类似,但它返回整数值,而且可以通过radix参数将返回值转换成2-36范围内的任意进制的数字。
→setInterval函数中的第一个参数,它的真正意义是储存你要调用函数的作用域,比如,你的函数是定义在和setInterval函数相同的MC里,这时可以直接用this调用,但如果你的函数是在主时间轴定义的,那就必须写成_root或者_level0了。
→_focusrect全局属性可以指定按钮或影片剪辑在通过TAB获得焦点的时候,是否显示黄色边框,true为显示,false不显示。另外它还可以指定全局或者特定MC内响应全键盘还是只响应TAB键,true为响应全键盘,false为只响应TAB键。
→typeof运算符将把按钮和文本域都返回为Object,而不是Button和TextField。
→void expression,在void运算符中,会先计算表达式expression,然后放弃其值而返回undefined。看下面的代码:
var a = 1;
trace(void (a++)); //输出undefined
trace(a); //输出2,而不是1
→delete reference:破坏由 reference 参数指定的对象或变量的引用,释放内存,如果成功删除了引用,则返回 true;否则返回 false。看下面的代码:
var a="a";
trace(delete a); //删除成功,输出true
trace(delete b); //删除失败,输出false
delete所不能做的:
1,删除预定义的对象或属性
trace(delete _root); //输出false
2,删除在函数里用var定义的变量
function a() {
var b = "";
trace(delete b); //输出false
}
3,删除MC
_root.createEmptyMovieClip("a_mc", 0);
trace(delete _root.a_mc); //输出false
→return语句不能返回多个值。如果尝试返回多个值,则将只返回最后一个值。return a, b, c ; //返回c的值
→set variable 语句可以把字符串和变量结合为新的变量名字,并对新变量赋值,但它不支持严格数据类型指定。示例:
var i :String= "jimo";
set(i+"huoshan", "寂寞火山");
trace(jimohuoshan); //输出 寂寞火山
另外,set语句中不支持严格数据类型指定。如果使用此语句将某个变量设置为一个值,而该值的数据类型与类文件中与该变量关联的数据类型不同,则不生成编译器错误。 |
|