`
luckyjaky
  • 浏览: 114481 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

ActionScript3.0 编程基础_数据类型及其运算、程序流程

阅读更多

7.3 数据类型和数据运算

7.3.1 关于数据类型

一个变量或者常量被声明时,必须指定其数据类型:
原生数据类型:语言本身提供:字符串、整数、布尔型等
复杂数据类型:由基本数据类型组成的复合型类型:类、接口等。

基本数据类型:
  • Boolean:布尔型,true 和 false
  • int: 整数,存放32位二进制整数,范围:-2147483648~2147483647,当超出自动转为Number
  • Null:空值,是字符串和所有类的默认值。
  • Number:整数型和浮点型,使用64位双精度格式存放数据,没有小数点时自动转换成整数。最小值和最大值分别存放在Number 对象的MIN_VALUE 和 MAX_VALUE属性中。
  • String:字符串,以Unicode 编码格式存放。
  • uint:正整数类型,0~4294967295
  • void:值为undefined,只能用作函数的返回类型。

复杂数据类型:Object 对象、 Array 数组、 Date 日期、Error 错误对象、Function 函数、 RegExp 正则表达式、XML XML数据对象、XMLList。
其中Object 是所有对象的基类。

以下是各个类型的默认值
  • Object、Array :null
  • Number:NaN
  • int、uint:0
  • Boolean:false
  • *:不定类型,默认值:undefined。


7.3.2 字符串

可以使用单引号和双引号 来声明字符串,也可以使用String 的构造函数来生成:
var str1:String = 'string';
var str2:String = "string";
var str3:String = new String("string");

使用转义符号“\” 来转义符号后面的字符:"string\"test" = string"test

String 的属性:
  • length:用来获取字符串的长度
  • contact(...args):合并字符串,也可以使用+合并字符串
  • charAt(index):获取index位置的字符。
  • indexOf(val, starIndex):从starIndex 开始查找val 在字符串中第一个出现的位置。找不到返回-1
  • split(delimiter, limit):返回以delimiter 分隔最大为limit的数组。
  • substr(startIndex, len):从startIndex 位置开始截取长度为len的字符,如果startIndex为-1表示最后一个位置,当len大于最大长度时,自动返回最大长度值。
  • substring(startIndex, endIndex):截取从 startIndex 到 endIndex位置的字符,两个参数都不能为负数,否则转为0,如果endIndex 省略,取默认值:字符的长度。
  • slice(startIndex, endIndex):同substring,并允许startIndex, endIndex 为复数。
  • toUpperCase():转换为大写
  • toLowerCase():转换为小写


7.3.3 数字计算

算术运算符:
符号
符号说明
符号
符号说明
+
加法运算
--
减1运算
-
减法运算 +=
a=a+ b
*
乘法运算 -=
a=a- b
/
除法运算 *=
a=a* b
%
取模运算 /=
a=a/ b
++
加1运算 %=
a=a% b

在进行除法运算时,如果被除数为0,则返回值为 Infinity。

Math 类 方法说明:
  • Math.round(n):四舍五入
  • Math.floor(n):返回小于或等于指定数字n 的最大整数
  • Math.ceil(n):返回大于或等于指定数字n 的最小整数
  • Math.pow(val1, val2):计算val1 的 val2 次幂
  • Math.sqrt(val):val的平方根
  • Math.max(val1, val2, ...rest):技术给定数字的最大值
  • Math.min(val1, val2, ...rest):技术给定数字的最小值
  • Math.randow():获取一个随机数字: 小于1大于等于0


7.3.4 数组的使用

创建数组:
var arr:Array  = new Array(); //默认元素值为undefined
var arr:Array  = new Array(3); //创建一个包含3个元素的数组。
var arr:Array  = new Array("1", "2", "3"); //直接给数组定义元素
var arr:Array  = [];
var arr:Array  = ["1", "2", "3"];
var arr:Array  = [3];  //并不是定义3个元素,而是将3作为数据放到数组中

获得数组元素:
arr[0]:第一个元素,如果下标超出范围,返回 undefined
arr.length:数字的长度

插入元素:
  • push():将数据添加到数组的尾部,push("flex")
  • unshift():将数据添加到数组队顶部,unshift("flex")
  • splice(startIndex, deleteCount, ...values):把数据插入到数组的指定位置,startIndex:操作的下标,deleteCount:要删除的元素个数,...values:要添加的若干数据。

删除元素:
  • pop():删除数组的最后一个元素
  • shift():删除第一个元素
  • splice(startIndex, deleteCount, ...values):删除任意位置的元素,从startIndex开始删除deleteCount个元素,并添加元素 values。

排序:
  • sort:主要对简单数据结构的数组进行排序
  • sortOn:对复杂数据结构的数组排序
  • reverse:将现有顺序逆向
排序规则:排序规则可同时使用如:sort(Array.CASEINSENSITIVE | Array.DESCENDING)
  • Array.CASEINSENSITIVE:不区分大小写
  • Array.DESCENDING:降序排序
  • Array.UNIQUESORT:如果元素都是唯一,不存在重复就进行排序,否则不排序
  • Array.RETURNINDEXEDARRAY:将排序后的元素的新顺序返回,但不修改原来的数组
  • Array.NUMERIC:按照数字大小排序
复杂排序:
arr.sortOn("age", Array.NUMERIC); //"age"为元素的属性,将使用age来排序

多维数组:
var arr:Array  = new Array();
arr:push(["1","2"]);
访问:arr[0][0]


7.3.5 类型检测和转换

类型检测:
  • typeof 对象:如果是由用户的类产生的对象,一律返回object。只能对基本类型检测。

数据类型
结果
数据类型
结果
Array
object
object
object
Boolean
boolean
String
string
Function
function
uint
number
int
number
XML
xml
Number
number
XMLList
xml

  • 对象 is 类型:对对象的类型进行精确判断。如果对象是类型返回true,否则返回false。

类型转换:
  • 隐式转换:大部分由flash player 来完成,如:undefined 会自动转为null
  • 显示转换:通过编写代码来完成:类型(对象) ,也可以通过这样转换:对象 as 类型 ,如果成功返回对象转换后的值,否则返回null,不会引发异常。

 

7.4 控制程序的流程

7.4.1 选择语句

  • if 流程控制:
if(条件表达式){
  //代码块
}else{
  //代码块
}eles if(条件表达式){
  //代码块
}

  • switch 流程控制:
switch(条件表达式){
  case 值1:
      //代码块
      break;
  case 值2:
      //代码块
      break;
  .....
  default:
      //当上面的值都不匹配执行 default 里面的语句。
}


7.4.2 循环语句

  • for 循环:
for(表达式; 条件表达式; 表达式){
  //代码块
}

  • for...in 循环 : 遍历对象的属性名
for(var 属性名 in 对象){
  //对象[属性名]
}

  • for each...in 循环: 遍历对象的属性值
for each(var 属性值 in 对象){
  //这里可以直接使用属性值
}

  • while 循环:
while(条件表达式){
  //代码块
}

  • do...while 循环:
do{
  //代码块
}while(条件表达式)


7.4.3 跳转语句
  • break:用来从当前的循环体中跳出,结束循环
  • continue:结束本次循环,继续下次循环。
  • return:结束函数的运行,返回。
分享到:
评论

相关推荐

    最专业的ActionScript 3.0

    学习ActionScript 3.0首先需要掌握其语法基础,这是编程语言的核心部分,包括变量定义、表达式运算、控制流程等。 **3.2.1 语法、语句和表达式** 语法是编程语言的规则集合,确保编写出的代码能够被编译器正确解析...

    ActionScript 3.0基础教程 as3源代码

    ActionScript 3.0是Adobe开发的一种编程语言,主要用于创建富互联网应用程序(RIA)和Flash内容,尤其是在网页设计和游戏开发领域。这个基础教程源代码集合提供了深入学习和实践ActionScript 3.0的关键资源。 在...

    ActionScript 3.0 语言和组件参考

    1. **类型系统**:ActionScript 3.0 引入了强类型系统,这意味着变量在声明时必须指定其数据类型,如 `var myVar:String;`。这提高了代码的稳定性和可预测性,有助于减少运行时错误。 2. **面向对象编程**:AS3.0 ...

    Flash ActionScript3.0从入门到精通配套光盘

    1. **基本语法**:包括变量声明、数据类型、运算符、流程控制(如条件语句和循环)等基础知识。 2. **面向对象编程**:了解类、对象、继承、封装和多态的概念,以及如何在ActionScript3.0中实现它们。 3. **事件...

    ActionScript 3.0 完全自学手册(随书光盘)-- 源文件

    ActionScript 3.0 是Adobe Flash Platform中的编程语言,它为创建交互式、动画和富互联网应用程序(RIA)提供了强大的工具。本完全自学手册旨在帮助初学者和中级开发者深入理解和掌握ActionScript 3.0的核心概念和...

    2013 Adobe ActionScript 3.0 开发人员指南

    Adobe ActionScript 3.0开发人员指南提供了一个全面的参考,涵盖了从基础到高级的ActionScript 3.0编程知识,是开发人员学习和掌握该语言不可或缺的资源。通过对指南的学习,开发者可以有效地利用ActionScript 3.0的...

    Flash ActionScript 3.0学习指南

    基础知识点包括变量声明(var关键字)、数据类型(如Number、String、Boolean等)、运算符(算术、比较、逻辑)、流程控制(if语句、switch语句、for循环、while循环)以及函数的使用。 二、面向对象编程 ...

    ActionScript 3.0基础教程(中文版)源代码

    ActionScript 3.0 是Adobe开发的一种编程语言,主要用于创建富互联网应用程序(RIA),特别是与Flash Player和Adobe AIR平台一起使用。本教程源代码旨在帮助初学者深入理解ActionScript 3.0的基础知识,以便更好地...

    AS3.0开发王_源码

    ActionScript 3.0(AS3)是Adobe Flash平台的核心编程语言,用于创建交互式、动态的网页内容,包括动画、游戏以及丰富的互联网应用程序(RIA)。"AS3.0开发王"显然是一本专注于教授ActionScript 3.0高级开发技巧的...

    高级教程ActionScript_3.0_CN

    9. **Pixel Bender**:介绍了Pixel Bender滤镜技术,包括编写像素着色器、数据类型、参数、取样方法、在Flash中使用滤镜的方式,以及如何将滤镜应用于动画和混合模式。 10. **补间引擎**:讲解了Flash中的Tween类,...

    actionscript3.0 编程

    1. **基础语法**:如何声明变量、常量,理解数据类型,以及如何进行基本的运算。 2. **控制流程**:包括条件语句(if...else)、循环(for, while)以及跳转语句(break, continue)。 3. **函数和类**:学习如何...

    行业文档-设计装置-基于ActionScript3.0平台网络远程数据抓取的互动展示装置.zip

    ActionScript3.0是Adobe开发的编程语言,主要用于创建富互联网应用程序(RIA),尤其在Flash平台上,它为构建动态、交互性强的Web内容提供了强大的支持。这篇行业文档深入探讨了如何利用ActionScript3.0来设计一种...

    02.ActionScript 3.0运动编程pdf

    理解基本数据类型如Number、String、Boolean,以及类的概念是学习AS3.0的基础。 2. **事件驱动编程**:AS3.0使用事件模型处理用户输入和其他系统事件。掌握Event和EventListener接口,以及如何添加和移除事件监听器...

    ActionScript.3.0动画教程 高级教程2本含源码

    1. **基础语法**:ActionScript 3.0的语法结构,包括变量、常量、数据类型、运算符、流程控制语句等。 2. **面向对象编程**:类、对象、继承、封装和多态的概念,以及如何在AS3中实现。 3. **事件处理**:事件监听器...

    actionscript3.0cookbook中文版pdf

    《ActionScript 3.0 Cookbook》是一本针对Adobe Flash平台上的ActionScript 3.0编程的详尽指南,旨在帮助开发者解决日常开发中遇到的各种问题。本书覆盖了从基础概念到高级技巧的广泛主题,包括但不限于创建和管理...

    Yahoo 开发中心ActionScript3.0类源代码

    1. **ActionScript3.0基础知识**:ActionScript3.0是AS2的升级版,引入了强类型、面向对象编程以及ECMAScript for XML (E4X) 支持。它具有更高的执行效率和更严格的错误检查,提高了代码质量和性能。 2. **面向对象...

    Flash ActionScript3.0三维系统源程序

    《深入理解Flash ActionScript3.0三维系统源程序》 Flash ActionScript3.0是Adobe Flash平台中的核心编程语言,以其高效、灵活的特性在创建交互式内容和动画上展现了强大的能力。本套源程序专注于三维系统开发,...

    ACTIONSCRIPT3.0中文帮助

    1. **基础语法**:AS3.0的语法结构与Java和C++类似,包括变量声明、数据类型(如Number、String、Boolean等)、运算符以及流程控制语句(如if-else、for循环、while循环)。 2. **面向对象编程**:AS3.0是完全的...

    ActionScript 3.0 开发人员指南

    《ActionScript 3.0 开发人员指南》是一本针对Adobe Flash平台编程语言ActionScript 3.0的权威教程。ActionScript是用于构建富互联网应用(RIA)和Flash动画的关键技术,尤其在Web开发领域占有重要地位。此中文版PDF...

Global site tag (gtag.js) - Google Analytics