不赞成使用的函数

在FLASH MX中有一些函数在旧版本中曾经存在过,在新版本中仍然可以使用(这个在软件开发应用中叫做:向下兼容性),但是不建议使用。一来,因为这些函数的功能都可以通过其他函数来实现,二,在以后的版本中可能会不再支持,因此,大家尽量不要使用这些函数:

1.chr函数
chr函数的作用是把ASCII码转化为相应的字符,动作指令的语法格式如下: chr(number);
参数number就是要转换的ASCII码。
该函数的功能现在可以由String.fromCharCode 动作实现。
新函数用法: myString.fromCharCode(c1,c2,...cN) 参数: myString:已经存在的 String 对象。 C1,c2,…cN:数字值,表示组成字符串的一个或多个 ACSII 码。 返回: 一个字符串值 介绍: 使用 String 对象的 fromCharCode 方法,可以获取由一个或多个 ASCII 码表示的字符组成的字符串值。参数(c1,c2,...cN)指定组成字符串的一个或多个 ASCII 码。返回的字符串值,是将参数中指定的 ASCII 码转换成字符并连接完成后的字符串值。
具体举例请参看下文的第4点中的例子。
2.int函数
int函数的作用是将数值取整,动作指令的语法如下: int(value);
参数value就是要取整的数值;取整方式是四舍五入,该动作指令可由Math.round动作来实现。
新函数用法: Math.round(x) 参数: x:数字值,表示要处理的数值。 返回: 一个数字值 介绍: 使用 Math 对象的 round 方法,可以获取参数(x)中数值四舍五入运算后的结果,例如 Math.round(8.5) 返回 9 。

本人质疑:我是到现在还常常用int的,我觉得很好用,而且上文好象有错。不行大家可以自己验证以下代码 a=int(8.4); b=Math.round(8.4); c=int(8.6); d=Math.round(8.6); 结果a b c d四个动态文本输出值为:8 8 8 9 。可见int的取整是只舍不入的(个人得出的结论,有不对的地方,请各位斧正)如果我说的没有错,那倒是可以用Math.floor(x)来代替int(x)的功能。

3.length函数
length函数的作用是获得指定表达式的字符串长度,动作指令的语法格式如下: length(expression); 参数expression就是需要获取长度的字符串(或者是变量名);
该函数的功能可由字符串对象的string.length属性获得。
新函数的用法: myString.length 参数: myString:已经存在的 String 对象。 返回: 一个数字值 介绍: 通过读取 String 对象的 length 属性,可以获取当前 myString 字符串对象中储存字符串信息的字符个数。返回的数字值表示获取的字符个数。
例子:在帧上输入代码: mystring=new String("祝闪吧所有的朋友新年快乐!"); trace(mystring.length);
或者: trace("祝闪吧所有的朋友新年快乐!".length)
在输出窗口都可以显示字符茶的长度为13。

4. mbchr函数 mbchr函数的作用是把代码转换成相应的多字节字符。动作指令的语法格式如下: mbchr(number); 参数number就是要转换的代码。
该函数的功能可由string.fromCharCode动作指令实现。
新函数的用法: String.fromCharCode(c1,c2,...cN) 参数: myString:已经存在的 String 对象。 C1,c2,…cN:数字值,表示组成字符串的一个或多个 ACSII 码。 返回: 一个字符串值 介绍: 使用 String 对象的 fromCharCode 方法,可以获取由一个或多个 ASCII 码表示的字符组成的字符串值。参数(c1,c2,...cN)指定组成字符串的一个或多个 ASCII 码。返回的字符串值,是将参数中指定的 ASCII 码转换成字符并连接完成后的字符串值。
例子: 在帧上输入以下代码: str=String.fromCharCode(106,103,119,54,52,52,55); trace(str);

输出窗口将显示:jgw6447 (呵呵.......自恋一把,大家不要扔我鸡蛋  )

5.mblength函数 mblength函数的作用是返回多字节字符串的长度,动作指令的语法格式如下: mblength(string); 参数string就是目标字符串;
该函数的功能可由mystring.length属性实现。
myString.length 的用法参看上面第3点

6.mbord函数mbord函数的作用是把指定字符串转换成相应的多字节编码,动作指令的语法格式如下: mbord(character);
参数character就是要转换的字符。此函数的功能可由mystring.charCodeAt动作指令实现。新函数用法: myString.charCodeAt(index) 参数: myString:已经存在的 String 对象。 Index:数字值,表示要获取的字符位置。 返回: 一个数字值 介绍: 使用 String 对象的 charCodeAt 方法,可以获取 myString 字符串对象中指定位置字符的 ASCII 码。参数(index)指定要获取字符在 myString 字符串中的位置,注意字符串的字符索引序号是从 0 开始的。返回的数字值,是获取字符的 ASCII 码。
例子:在帧上加代码: str=new String("jgw6447"); trace(str. charCodeAt(0));
输出窗口将显示106也就是j的ASCII码
如果把代码改成: str=new String("jgw6447"); for(i=0;i<7;i++){ trace(str. charCodeAt(i)); } 那么输出内容就是全部字符的ASCII码值,显示为: 106 103 119 54 52 52 55

7.mbsubstring函数mbsubstring函数的作用是指定多字节字符串的子串,动作指令的语法格式为: mbsubstring(value,index,count); 各参数: value-----要提取子串的字符串(通常称为主串) index-----子串的第一个字符的位置; count-----要提取的字符的个数(也就是子串的字符数)
该函数的功能可由mystring.substr动作实现;
新函数的用法:
myString.substr(start, length) 参数: myString:已经存在的 String 对象。 start:数字值,表示要截取字符串的开始位置。 length:数字值,表示要截取字符串的长度。(可选) 返回: 一个字符串值 介绍: 使用 String 对象的 substr 方法,可以获取 myString 字符串对象中从指定的位置开始截取指定长度的字符串信息。参数(start)指定开始截取字符的位置,设置为 0 表示从字符串中的第一个字符开始,如果设定该值为负数,则表示起始位置从字符串的尾部计起。参数(length)指定截取字符串的长度,如果省略该参数,则表示截取自开始位置起后面的所有字符信息。返回的字符串值,表示截取的字符串信息。
例子:在帧上加如下代码: str="jgw6447"; s1=str.substr(0,3); s2=str.substr(3,4); trace("s1="+s1+" s2="+s2)
输出窗口显示:s1=jgw s2=6447

8.ord函数ord函数的作用是将字符转换为ASCII码,动作指令的语法格式如下: ord(character); 参数character就是要转化为ASCII码的字符。
该函数的功能可由mystring.charCodeAt动作指令实现。
具体的用法和例子参看本文第6点。

9.random函数random函数的作用是产生一个0到指定整数的随机数,动作指令的语法格式如下: random(value);
参数value就是随机数的上限。
该函数的功能可由Math.random实现。
其实我本人还是很喜欢用random的,大不了加一些必要的数学运算进来,照样可以达到我想要的效果。这只是个人习惯,还是建议初学者用Math.random,毕竟这个比较规范!
新函数的用法: Math.random(); 使用 Math 对象的 random 方法,可以获取一个0.0 到 1.0 之间的随机数。
例子:在按钮上加代码: on(release){ trace(Math.random()); } 点击几次后的输出结果为: 0.606361729558557 0.15098334569484 0.966913965065032 0.168072482105345 0.492516168393195 0.337448082864285 0.580276881810278

10.substring函数substring函数的作用是取指定的字符串,动作指令的语法格式如下: substring(value,index,count); 各参数: value-----要提取子串的字符串(通常称为主串) index-----子串的第一个字符的位置; count-----要提取的字符的个数(也就是子串的字符数)
该函数的功能可由mystring.substr动作实现。 myString.substr函数的用法以及例子参看本文第7点

好了,到这里为止10个不鼓励使用的函数介绍完了,写这个东西参考了几本AS学习方面的书,其中的应用举例都是临时写的,自己做了验证,应该没有错误。至于其中一些牵涉到比较鲜明的个人观点部分,希望大家自己看着办,不可照搬全收,批判接受吧,当然你要是全盘否定,也是可以的!
说明:1.为了防止初学者走歪路,学到旧的函数的用法,在这篇文章里,所有的旧函数我一律只大致介绍其各个参数,而没有结合具体的例子说明其用法。 2.有些函数用的习惯了,用到的时候还是不习惯换,不知道有多少人和我一样,还喜欢用random,substring,int.....大概要等到MM真的不支持这些函数的时候,我才改的过来。晕!
至于用于代替他们的新函数,我已经尽量加上具体的例子说明问题,如有不明白的希望你仔细参看实例,实在不明白可以跟帖大家讨论或者PM我。
祝各位新年愉快,学习愉快!
这个是我最近写的三个东西中的最后一个(还有两个分别是:关于计时效果的讲解和运动出现的文字的教程),总算全部搞定了。今晚可以睡个安稳觉了!呵呵......

时间: 2024-11-01 00:22:41

不赞成使用的函数的相关文章

用 PHP 开发健壮的代码(三):编写可重用函数

函数 在本系列文章(有关如何在实际情况下开发有效的 PHP 代码)的第 3 部分中,Amol Hatwar 讨论了如何构建最有效的功能型函数,使用这些函数不会牺牲太多性能或可管理性.作者重点阐述了如何编写可重用函数,并介绍了如何避免与该任务相关的一些最常见问题.欢迎回来.在本系列文章的第 1 部分中,我讨论了一些基本的 PHP 设计规则,并介绍了如何编写安全.简单.与平台无关且快速的代码.在第 2 部分中,我介绍了变量,并讨论了它们在 PHP 编码中的用法 - 好的和坏的实践. 在本文中,您将了

jQuery函数的等价原生函数代码

 我们针对常用的jQuery方法以及其等价原生方法的性能做了一些测试(1, 2, 3). 我知道你在想什么.原生方法明显要比jQuery方法快,因为jQuery方法要处理浏览器兼容以及其他一些事情.是的,我完全赞成.写这篇文章并不是出于反对使用jQuery,但如果你针对的是现代浏览器,那么使用原生方法会使性能有很大的提升. 许多开发者没有意识到大多数他们使用的jQuery方法可以使用原生方法,或者更轻量级的方法来代替.下面是一些代码示例,展示一些常用的jQuery方法,以及其等价原生方法. 译者

ffmpeg结构体以及函数介绍(一)

本文对在使用ffmpeg进行音视频编解码时使用到的一些函数做一个简单介绍,我当前使用的ffmpeg版本为:0.8.5,因为本人发现在不同的版本中,有些函数名称会有点小改动,所以在此有必要说明下ffmpeg的版本号.     ffmpeg本人也是刚接触,本文将采用累加的方法逐个介绍我使用到的函数,如有不妥之处,还望谅解!     头文件引入方法: extern "C" { #include "libavcodec/avcodec.h" #include "l

jQuery源码分析-03构造jQuery对象-工具函数_jquery

作者:nuysoft/高云 QQ:47214707 EMail:nuysoft@gmail.com 声明:本文为原创文章,如需转载,请注明来源并保留原文链接. 读读写写,不对的地方请告诉我,多多交流共同进步,本章的的PDF等本章写完了发布. jQuery源码分析系列的目录请查看 http://nuysoft.iteye.com/blog/1177451,想系统的好好写写,目前还是从我感兴趣的部分开始,如果大家有对哪个模块感兴趣的,建议优先分析的,可以告诉我,一起学习. 3.4 其他静态工具函数

jQuery函数的等价原生函数代码示例_jquery

我们针对常用的jQuery方法以及其等价原生方法的性能做了一些测试(1, 2, 3). 我知道你在想什么.原生方法明显要比jQuery方法快,因为jQuery方法要处理浏览器兼容以及其他一些事情.是的,我完全赞成.写这篇文章并不是出于反对使用jQuery,但如果你针对的是现代浏览器,那么使用原生方法会使性能有很大的提升. 许多开发者没有意识到大多数他们使用的jQuery方法可以使用原生方法,或者更轻量级的方法来代替.下面是一些代码示例,展示一些常用的jQuery方法,以及其等价原生方法. 译者注

php5.3 不支持 session_register() 此函数已启用的解决方法_php技巧

php从5.2.x升级到5.3.2.出来问题了.有些原来能用的程序报错了.报错内容是Deprecated: Function session_register() is deprecated查了一下是5.3这个session_register就不让用了,降回去?不爽.搜了一把,有个解决方法是写一个函数 复制代码 代码如下: <?php // Fix for removed Session functions function fix_session_register(){ function se

ffmpeg结构体以及函数介绍(二)

1 avcodec_find_decoder() /**  * Find a registered decoder with a matching codec ID.  *  * @param id CodecID of the requested decoder  * @return A decoder if one was found, NULL otherwise.  */ AVCodec *avcodec_find_decoder(enum CodecID id); // 通过code

忽然间茫然之javascript函数和对象

问题描述 大家不要笑话我 前天晚上睡觉时候忽然想到这个问题 javascript对象是由函数构造的 可是我感觉貌似用函数就够了 使用对象就是为了多个继承吗 我发现自己很多时候用函数就够了 到底什么时候是必须用函数的呢 唉 脑子很乱 这样写也不知道大家看的懂我的意思不··· 问题补充:谢谢大家啦 看着大家都回复感觉无比幸福 继续研究研究 不急结贴 呵呵 解决方案 引用蔡老师说:"至于Object与Function的区别,感觉最大的还是在于原型"我的理解是Object和Function的原

网路函数库:socket_set_blocking

socket_set_blocking (PHP4 >= 4.0b4) socket_set_blocking ---&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp; 设定socket搁置/非搁置模式 语法 : int socket_set_blocking (int socket descriptor, int mode) 说明 : 如果mode是false,则给予的socket descriptor将会切