第3章 Flex4脚本语言ActionScript30语言进阶.ppt
《第3章 Flex4脚本语言ActionScript30语言进阶.ppt》由会员分享,可在线阅读,更多相关《第3章 Flex4脚本语言ActionScript30语言进阶.ppt(85页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3章 Flex 4脚本语言:ActionScript 3.0语言进阶3.13.1 数学运算3.2 3.2 数组操作3.33.3 字符串操作3.43.4 正则表达式3.53.5 日期和时间3.6 XML3.6 XML操作3.1 数学运算数学运算v3.1.1 3.1.1 求绝对值求绝对值Math类的abs()方法可以取得指定数字的绝对值,语法格式如下:Math.abs(val)该方法计算并返回由参数val指定的数字的绝对值。例如:var num:Number=-12.3;trace(Math.abs(num);/输出结果:12.33.1.2 求最大最小值求最大最小值max()方法可以在多个数值当
2、中计算并返回最大值,而min()方法则计算多个数值中的最小值。语法格式如下:Math.max(值1,值2,值n);Math.min(值1,值2,值n);3.1.3 角度计算角度计算在数学计算中经常要计算与角度有关的值,如计算角度的正弦值,Math类中提供相应的方法计算这些值,如表3.1所示。方法名语法格式说明sin()Math.sin(弧度)以弧度为单位计算并返回指定角度的正弦值cos()Math.cos(弧度)以弧度为单位计算并返回指定角度的余弦值tan()Math.tan(弧度)以弧度为单位计算并返回指定角度的正切值asin()Math.asin(val)以弧度为单位计算并返回由参数val
3、指定的数字的反正弦值acos()Math.acos(val)以弧度为单位计算并返回由参数val指定的数字的反余弦值atan()Math.atan(val)以弧度为单位计算并返回角度值,该角度的正切值由参数val指定。返回值介于负二分之pi和正二分之pi之间atan2()Math.atan2(y,x)以弧度为单位计算并返回点y/x的角度,该角度从圆的x轴(0点在其上,0表示圆心)沿逆时针方向测量。返回值介于正pi和负pi之间3.1.4 舍入操作舍入操作c1 1round()round()方法方法round()方法可以将小数转为整数,原则为四舍五入,语法格式如下:Math.round(val);该
4、方法将参数val的值向上或向下舍入为最接近的整数并返回该值。如果val与最接近的两个整数等距离(即该数字以“.5”结尾),则该值向上舍入为下一个较大的整数。3.1.4 舍入操作舍入操作c2 2floor()floor()方法方法floor()方法用于去掉一个数值的小数部分,语法格式如下:Math.floor(val);floor()方法返回由参数val指定的数字或表达式的下限值。下限值是小于等于指定数字或表达式的最接近的整数。例如:trace(Math.floor(3.4);/输出结果:3trace(Math.floor(-5.5);/输出结果:-6c3 3ceil()ceil()方法方法ce
5、il()方法也用于去掉数值的小数部分,语法格式如下:Math.ceil(val);ceil()方法返回指定数字或表达式的上限值。数字的上限值是大于等于该数字的最接近的整数。例如:trace(Math.ceil(3.4);/输出结果:4trace(Math.ceil(-5.5);/输出结果:-53.1.5 生成随机数生成随机数c1 1使用使用MathMath类的类的random()random()方法方法使用Math类的random()方法可以生成一个伪随机数。因为该计算不可避免地包含某些非随机的成分,所以返回的数字以保密方式计算且为伪随机数。语法格式如下:Math.random();该方法的返
6、回值是一个0到0.9999999999999999的小数。例如:trace(Math.random();/输出结果:随机小数random()方法只能生成随机小数,但大多数情况下用户希望生成整数,这时可以结合Math()类的其他方法生成。3.1.5 生成随机数生成随机数c2 2使用使用NumberUtilitiesNumberUtilities类的类的random()random()方法方法在使用前使用import语句导入NumberUtilities类代码如下所示:import ascb.util.NumberUtilities;NumberUtilities类的random()方法的语法格式
7、如下:NumberUtilities.random(最大值,最小值,间隔值);其中间隔值参数为可选,默认为1。例如,生成一个50100的随机数,间隔值为5,使用如下语句:NumberUtilities.random(50,100,5);3.1.6 其他数学运算其他数学运算c1 1sqrt()sqrt()方法方法sqrt()方法用于计算一个数的平方根,语法格式如下:Math.sqrt(val);c2 2exp()exp()方法方法exp()方法的语法格式如下:Math.exp(val);c3 3log()log()方法方法log()方法的语法格式如下:Math.log(val);c4 4pow(
8、)pow()方法方法pow()方法的语法格式如下:Math.pow(val1,val2);pow()方法计算并返回val1的val2次幂。例如,计算2的10次方:trace(Math.pow(2,10);/输出结果:10243.1.7 应用实例:猜数字应用实例:猜数字新建一个MXML应用程序,命名为Guess.mxml。在程序文件的设计模式中拖曳一个TextInput标签和一个Button标签,在文件的代码模式中设计代码所示。运行结果如图所示。3.2 数组操作数组操作v3.2.1 3.2.1 创建数组创建数组c1 1创建空数组创建空数组调用不带参数的Array()构造函数,可以创建一个空的数组
9、对象。语法格式如下:var 数组变量:Array=new Array();例如,创建一个空数组arr如下所示:var arr:Array=new Array();c2 2指定数组长度指定数组长度数组长度是指数组在内存空间中占用的连续空间长度。例如,设置数组长度为3,表示该数组最多可以存储3个元素。将一个数字用作Array()构造函数的唯一参数,则会创建长度等于此数值的数组。语法格式如下:var 数组变量:Array=new Array(n);数组长度n必须是介于0和232-1(4,294,967,295)之间的无符号整数。创建后的数组中每个元素的初始值都被设置为undefined。3.2.1
10、创建数组创建数组c3 3指定数组元素指定数组元素调用Array()构造函数,并传递一个元素列表作为参数,此时将创建一个数组,这个数组中的每个元素与参数对应。语法格式如下:var 数组变量:Array=new Array(元素1,元素2,元素n)元素可以是常量或变量,元素的个数就是数组的长度。使用这种方式创建的是索引数组,数组的键名为从0开始依次递增的整数。例如,第1个元素的索引为0,第2个元素的索引为1。数组创建完后可以使用以下格式访问数组中的元素:数组变量索引3.2.1 创建数组创建数组c4 4使用使用“”操作符创建数组操作符创建数组使用“”操作符可以将数组文本直接分配给数组变量,不需要使用
11、Array()构造函数。语法格式如下:var 数组变量:Array=元素1,元素2,元素n;例如:var arr:Array=1,2,3;trace(arr.length);/输出结果:3trace(arr0);/输出结果:13.2.2 查询数组查询数组访问数组元素一般使用数组元素的索引值。遍历数组中的元素,可以结合循环语句实现。例如,以下代码使用for循环遍历数组:var color:Array=new Array(red,blue,white);for(var i:int=0;icolor.length;i+)trace(colori);如果要查询某个数组元素,可以在循环中加入判断条件,配
12、合break语句即可。例如:var color:Array=new Array(red,blue,white);for(var i:int=0;icolor.length;i+)if(colori=blue)trace(i+:+colori);break;3.2.3 添加数组元素添加数组元素c1 1使用使用“”操作符操作符使用“”操作符可以在数组中添加数组元素,语法格式如下:数组变量索引=元素值;如果Array数组对象在该索引处还没有元素,则创建该索引并将值存储在该索引中。c2 2使用使用push()push()和和unshift()unshift()方法添加元素方法添加元素Array类的pu
13、sh()方法用于在数组末尾添加一个或多个元素。插入的最后一个元素将具有最大索引号。unshift()方法用于在数组开头插入一个或多个元素,并且始终在索引号0处插入。语法格式如下:数组变量.push(元素1,元素2,);数组变量.unshift(元素1,元素2,);3.2.3 添加数组元素添加数组元素c3 3使用使用splice()splice()方法添加元素方法添加元素Array类的splice()方法用于在数组的指定索引处删除指定数目的元素,并可以添加新的元素。语法格式如下:数组变量.splice(指定索引);数组变量.splice(指定索引,要删除的元素数目);数组变量.splice(指定
14、索引,要删除的元素数目,新元素1,新元素2,新元素n);指定的索引可以是负值,表示数组从尾部倒数的位置。例如,索引为-1表示是倒数第1个元素,索引为-3表示是倒数第3个元素。3.2.4 删除数组元素删除数组元素在Array类中可以使用pop()和shift()方法删除数组中不需要的元素。pop()方法用于删除数组末尾的一个元素,即删除最大索引号的元素。shift()方法用于删除数组头部的一个元素,即删除索引号为0的元素。语法格式如下:数组对象.pop();数组对象.shift();这两个方法都返回被删除元素的值。例如:var arr:Array=new Array(one,two,three,
15、four,five,six);trace(arr.pop();/输出结果:“six”trace(arr.shift();/输出结果:“one”3.2.5 数组排序数组排序c1 1默认排序默认排序Array类提供了sort()方法对数组的进行排序,使用sort()方法排序可以分为基本排序和自定义排序。基本排序按照默认顺序对数组进行排序,自定义排序可以自定义规则进行排序。(1)基本排序。基本排序语法格式下:数组对象.sort(options);(2)自定义排序。除了可用于Array对象的sort()方法的基本排序之外,还可以自定义排序规则。若要自定义排序,需要编写自定义排序函数,并将该函数作为参数
16、传递给sort()方法。语法格式如下:数组对象.sort(自定义排序函数名);例如,有一个班级列表,其中每个列表元素都包含班级的名称(名称具有一定的格式:类别、班级),如果对班级名称中的班级类别进行排序,则必须使用自定义排序。定义一个函数orderClass,用于分析数组中的每一个元素,并作为参数传递给sort()方法,代码所示。3.2.5 数组排序数组排序c2 2对象数组的排序对象数组的排序下面的示例数组中每个元素均为对象而非字符串。每个对象中包含人的姓名和年龄如下所示:var array:Array=new Array();/添加对象到array数组中array.push(name:张三,
17、age:25);array.push(name:李四,age:23);array.push(name:王五,age:27);array.push(name:赵六,age:20);sortOn()方法的语法格式如下:数组变量.sortOn(fieldName,options);3.2.5 数组排序数组排序sortOn()方法定义fieldName和options两个参数。fieldName为排序的关键字,可以指定一个或多个,中间用“|”隔开,fieldName参数必须为字符串。options参数与sort()方法中options参数的用法相同。例如,指定参数“age”和Array.NUMERIC
18、调用sortOn()方法如下所示:/设置排序属性 和排序参数array.sortOn(age,Array.NUMERIC);for(var i:uint=0;iarray.length;i+)trace(name:+arrayi.name+age:+arrayi.age);输出结果如下所示:name:赵六 age:20name:李四 age:23name:张三 age:25name:王五 age:273.2.5 数组排序数组排序c3 3倒序排序倒序排序使用Array类的reverse()方法可以将数组从当前顺序切换为相反顺序。语法格式如下:数组变量.reverse();reverse()方法返
19、回新的数组,原数组也相应改变。例如:var arr:Array=new Array(one,two,three);arr.reverse();trace(arr)/输出结果:three,two,onetrace(arr);/输出结果:three,two,one3.2.6 创建关联数组创建关联数组有两种创建关联数组的方式。第一种创建关联数组的方式是使用Object实例。使用Object实例,可以通过对象文本初始化数组。Object类的实例(也称为“通用对象”)在功能上等同于关联数组。通用对象的每个属性名称都用作键,提供对存储的值的访问。定义的语法格式如下:var变量名:Object=键名1:值1
20、,键名2:值2,;或者先使用Object构造函数创建数组,然后通过“”或“.”运算符向数组中添加新值,格式如下:var 变量名:Object=new Object();变量名.键名1=值1;变量名.键名2=值2;3.2.6 创建关联数组创建关联数组第二种创建关联数组的方式是先使用Array构造函数创建一个空数组,然后通过“”和“.”运算符将键和值添加到数组中,语法格式如下:var 数组变量:Array=new Array();数组变量键名1=值1;数组变量键名2=值1;例如,以下示例使用Array构造函数创建一个名为stuInfo的关联数组:var stuInfo:Array=new Arra
21、y();stuInfoname=张三;stuInfoage=20;trace(stuInfoname);/输出结果:张三3.2.7 其他数组操作其他数组操作c1 1合成新数组合成新数组concat()方法用于将元素或数组连接到一个数组的尾部形成新数组。语法格式如下:数组变量.concat(参数列表);concat()将参数中指定的元素与原数组中的元素连接,并返回新的数组。如果这些参数指定了一个数组,将连接该数组中的元素。例如:var array1:Array=new Array(one,two,three);var array2:Array=new Array(four,five,six);/
22、将array1与array2组合为新的数组,输出结果:one,two,three,four,five,sixtrace(array1.concat(array2);trace(array1);/输出结果:one,two,threetrace(array1.concat(four,five,six);/输出结果:one,two,three,four,five,sixc2 2toString()toString()方法方法使用Array类的toString()方法可以返回包含数组中所有元素的逗号分隔列表。例如:var array:Array=new Array(one,two,three);tra
23、ce(array.toString();/输出结果:one,two,three3.2.7 其他数组操作其他数组操作c3 3join()join()方法方法join()方法将数组中的元素转换为字符串,并在元素间插入指定的分隔符,连接这些元素,然后返回结果字符串。语法格式如下:数组变量.join(分隔符);如果省略分隔符参数,则默认以逗号分隔。若指定分隔符,则将数组元素使用分隔符分隔,形成新的连接字符串,并返回。例如:var array:Array=new Array(one,two,three);trace(array.join();/输出结果:one,two,threetrace(array.
24、join(-);/输出结果:one-two-three4 4slice()slice()方法方法slice()方法可以获取数组中一段连续的元素,且不改变原数组的内容。语法格式如下:数组变量.slice(startIndex,endIndex);slice()方法有两个参数:startIndex和endIndex。返回值是一个新数组,新数组中包含从现有数组分离的元素副本。返回值数组从原数组的startIndex 索引处的元素开始,到endIndex处的前一个元素结束。3.2.8 数组集合数组集合c1 1创建对象创建对象创建ArrayCollection对象的语法格式如下:var变量:ArrayC
25、ollection=new ArrayCollection(source);其中,使用source指定源数组创建新的ArrayCollection对象。如果未指定source,则将使用空数组。例如:var arr:Array=one,two,three;/创建arr数组对象/创建ArrayCollection集合对象,以arr为构造方法的参数var arrColl1:ArrayCollection=new ArrayCollection(arr);var arrColl2:ArrayCollection=new ArrayCollection(1,2,3);3.2.8 数组集合数组集合c2 2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 Flex4脚本语言ActionScript30语言进阶 Flex4 脚本语言 ActionScript30 语言 进阶
限制150内