`
邱铁军
  • 浏览: 42506 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

AS3语言基本知识

阅读更多
AS3中基本数据类型概述:
     和其他面向对象一样,AS3中的数据类型也分为基本数据类型和复杂数据类型。这两种不仅仅是概念上的区分,在使用上也有很的区分。

1:基本数据类型:
    我们在编程时频繁使用到的复杂数据类型。例如:数字,真假,文字。有些编程经验的人都知道,这是语言的基本构成单元。AS3中预定义的基本元素类型共有:Boolean ,number,int,String,unit:
  其中int,number,uint是处理整型的。int一般情况是用来定义整型的。number使用来出来很长又有小数的数字。unit处理很大的正整数。其他的跟java语言的用法一样
2:复杂的数据类型:
   简单的复杂的数据类型是相对于基本数据类型而言的。简单的复杂数据类型就是由很多的简单的基本数据类型构成的:例如:Array.高级的复杂数据类型。其组成元素也是复杂的数据类型。比如:OBJECT对象他包含3个Array.经常用到的复杂的数据类型有:Array,Data,
Error,Function,RegExp和XMLList.例外我们自己定义的类也全部属于复杂数据类型
2:变量的声明和使用:
  初学者往往以为变量就是数据,实际上并不是这样的。变量好比是一个遥控器,指向我们要操作的数据。对变量进行操作,变量指向的数据也会发生变换:
变量必须先声明在使用,不然编译器会报错。就好比一个没有名字的遥控器我们对他怎么进行操作呢?
3:声明变量的语法:
var 变量名:数据类型;
var 变量名:数据类型=值:

这点跟JAVA语言不一样:java语言必须试数据类型而言才能进行定义变量:例如:定义整型变量:
int 变量名=值;但是在AS3中这种弱类型的情况下我们用VAR进行声明变量的操作:

*4:变量的本质
之前说过,在AS3中,所有数据类型都是对象;我们通过变量来操作对象。变量与对象是怎么联系?变量持有引用。而引用则指向要操作的对象。因此。实际上我们是通过引用来操作对象。这句话很抽象:打个比喻吧:引用好比是一个遥控器,变量是遥控器的名字。引用可以直接遥控到要操作在内存中的对象》
5:值类型和引用类型:
AS3中变量只有引用,指向要操作的对象。和JAVA中不同。AS3中变量本身是不能持有值的。在AS3中,值类型变量只有的是最想类型数据的引用:引用类型的变量持有的是想引用类型数据的引用。不要忘记,不论是值类型换是引用类型。是实质都是对象。值类型就是前面所说的基本数据类型。引用类型就是前面说的复杂数据类型。所不同的是。值类型是一种不变的对象。
6:基本数据类型的讨论:

在java中值类型并不是以对象的形式存在的。值类型变量,存储的不是引用,而是直接容纳了具体的值。在AS3中则不一样。因为本质上,值类型仍然是对象。那么即使是值类型,存储的仍然是引用。而不是直接持有值。但是值类型是一种特殊的对象==不变对象。正是这种对象的特殊行为导致了我们对值类型跟引用类型的操作不同。

举个简单的例子:
var aname:int=1;
aname=aname+2;

第一行创建了一个int类型的不便对象A出来,它的值是1,并赋给了变量。aname,第二行加上了一个整型值2,改变了aname的值。但是,不变对象A并没有改变。实际上发生的事儿是:第二行的结果是导致了一个新的整形值不变对象B的创建。B的值为3,然后不便对象B的引用被赋给了aname。换句话说,此时aname只有的引用不在是指向不变对象A,而是指向新的创建的不变对象B,此时AVM会回收不便对象A。

分享到:
评论

相关推荐

    ActionScript3.0 游戏编程大学[含源码]

    讲解AS3开发小游戏的基本知识,并具体分析许多个流行小游戏的原理及实现,是你进行小游戏开发的号帮手

    Python语言基础:导入模块.pptx

    Python默认安装仅包含部分基本或核心模块,但用户可以安装大量的扩展模块,pip是管理模块的重要工具。 在Python启动时,仅加载了很少的一部分模块,在需要时由程序员显式地加载(可能需要先安装)其他模块。 减小...

    C++数据抽象和问题求解(第6版).[美]Frank M. Carrano(带详细书签).pdf

    ◆ 附录中提供了基本的C++语法,以帮助学生从其他语言转换为C++ 第1章 数据抽象:墙 1 1.1 面向对象的概念 2 1.1.1 面向对象分析与设计 2 1.1.2 面向对象解决方案的特征 3 1.2 获得更好的解决方案 4 1.2.1 内...

    Python语言基础:进程存储.pptx

    import multiprocessing as mp def job(): print('job') if __name__=='__main__': p1 = mp.Process(target=job) p1.start() p1.join() 解析: 可以发现创建进程和创建线程的方式基本一致,导入“multiprocessing...

    ActionScript 3.0开发技术大全的源码

    本书全面细致地讲解ActionScript 3.0 语言语法和功能特性,并配合具体的示例加深读者对ActionScript 3.0知识点的理解。本书从ActionScript 3.0的基本概念开始,一步步引导读者使用ActionScript 3.0的调试和开发工具...

    nlp-tutorial代码注释1-1,语言模型、n-gram简介

    本文知识点介绍来自斯坦福大学CS224N课程lecture6语言模型部分 语言模型 语言模型可以预测一个序列接下来会出现什么词。即给定一个单词序列,语言模型计算出下一个单词是词汇表中各个词的概率分布。 还有一种理解是...

    Java领域基础部分JavaSE笔记

    Java领域基础部分aS笔记涵盖了Java编程语言的核心概念,包括但不限于: Java数据类型和变量 控制流程语句(if-else, switch, for, while等) 数组和集合 面向对象编程(OOP)基础(类,对象,继承,封装,多态) ...

    ActionScript3.0权威指南02

    全书以培养实际开发能力为目的,将语言的基本语法、核心概念及新增功能统一起来。根据知识点在语言逻辑体系和实际应用中的权重,对语法和概念重新进行分级和组织。结合Flash网络应用和脚本开发的实际,围绕面向对象...

    ActionScript3.0权威指南01

    全书以培养实际开发能力为目的,将语言的基本语法、核心概念及新增功能统一起来。根据知识点在语言逻辑体系和实际应用中的权重,对语法和概念重新进行分级和组织。结合Flash网络应用和脚本开发的实际,围绕面向对象...

    python_2.7_tutorial_cn.pdf

    本手册向读者介绍 Python 语言及其系统的基本知识与概念。配合 Python 解释 器学习会很有帮助,不过 所有的例子都已经包括在文中,所以这本手册也可以离 线阅读。 以上是文中的说明段,中英双语版的,是在python2.5版...

    html5 Canvas画图教程(1)—画图的基本常识

    虽然大家都称Canvas为html5的新标签,看起来好像Canvas属于html语言的新知识,但其实Canvas画图是通过javascript来做的。所以,如果你想学习Canvas画图,你必须要有Javascript基础。 另外,画图嘛,总有一些图像方面...

    Python 中文手册

    这个手册介绍了一些Python 语言及其系统的基本知识与概念。这有助于读者对Python 有一个基本的认识, 当然所有的例子都已包括在文中,所以这本手册很适合离线阅读。 For a description of standard objects and ...

    数据库原理编程与性能第2版 中文版附答案

    基本sql查询语言 4. 对象关系sql 5. 数据库编程访问 6. 数据库设计 7. 完整性、视图、安全性和目录 8. 索引 9. 查询处理 10. 事务更新 11. 并行与分布式数据库 附录a 介绍性指南 附录b 编程细节 附录c sql语句语言 ...

    PLSQLDeveloper下载

    SQL语言的分类情况大致如下: 1) 数据定义语言(DDL):Create,Drop,Grant,Revoke,… 2) 数据操纵语言(DML):Update,Insert,Delete,… 3) 数据控制语言(DCL):Commit,Rollback,Savapoint,… 4) 其他:Alter ...

    Python数据分析实践:数据拼接-1-new.pdf

    2022/3/14 4.8 数据拼接-1 In [ ]: import numpy as np import pandas as pd 4.8.1 主键合并数据-merge方法 为了方便维护,一般公司的数据在数据库内都是分表存储的,比如用一个表存储所有用户的基本信息,一个表...

    Cpp:在此存储库中,我存储的工作和项目主要是为了展示我对C ++编程语言的了解,尽管在我的其他存储库中可以找到更好的示例

    在此存储库中,您可以找到我使用C ++编程语言知识的练习和项目。 除非另有说明,否则该存储库中的程序都是我原创的,有时是根据我参加过的课程示例或课程资料制作的。 本练习和练习涵盖以下主题: 使用C ++数据...

    Data-Structures-and-Algorithms-in-Java

    语言专业知识和语言规范 达科斯州的基本原则:数组,矩阵,listas ligadas eárvoresbinárias; 先决条件摘要:纤维,pilhas,conjuntos,dicionáriose filas de Prioridade; 参加综合竞赛的基本功课 ...

    vb学生成绩管理系统

     要编写一个实用的数据库程序,必须系统地学习过数据库原理的知识,并首先设计出符合用户业务需求的数据库体系,然后才能利用某种语言,开发出针对这个数据库的交互程序:数据库应用程序。  2. 程序的主要功能  ...

    火车订票管理系统课程设计.doc

    SQL Server2008 目 录 蚌埠学院计算机科学与技术系课程设计任务书 1 蚌埠学院计算机科学与技术系本科课程设计成绩评定表 2 1 系统总体方案 3 1.1开发背景 3 1.2意义 3 1.3系统相关知识介绍 3 2 设计思路与主要步骤 5...

Global site tag (gtag.js) - Google Analytics