`
kino
  • 浏览: 104940 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

as3备忘五-变量

    博客分类:
  • flex
阅读更多

1、用var声明变量,用:指定变量类型,若不指定类型,严格模式下会出现编译错误。正确的如如var v:int=1;

 

2、与java不同的是,在as3中,变量没有块级作用域(即两人大括号中间),如果在一个块内声明了一个变量,比如一个for循环内声明了一个变量,它在该代码所在整个函数内都是可访问的。 如:

function myFunction():void{
       for(var i:int=0;i<5:i++){
             var last:int = i;
        }
       trace(last);
}

 看上面的代码,变量last虽然是在for代码块内部声明的,但在代码块外部也是可以访问的,只要不超出函数体。

 

3、 何为“提升”?as3会把所有的声明提到函数体的顶部。也就是说你可以使用一个变量,只要这个变量在函数体内被声明过,但不在乎它声明的位置,哪怕是在函数体的结尾。或者可以说,变量是可以先使用再声明的,这是从代码表面来看的,因为内部机制来说,as3会把所有的声明放到函数体的顶部执行,实际上还是先声明再使用的。 如:

function myFunction():void{
     trace(num);         // NaN
     var num:Number=10;  
     trace(num);         //10
} 

上面的代码也是合法的。但是第一个trace(num)会生成NaN,这是因为编译器只会提升声明,而不会提升任何赋值语句。 第二个trace(num)生成10.你也可以先赋值再声明,如:

function myFunction():void{
     num=5;
     trace(num);       //5
     var num:Number=10;
} 

 

 

4、无类型变量。 声明一个变量时如果指写它的类型为*,它就是无类型变量,也是变量的默认类型,即如果声明一个变量,但没指定它的类型,它的类型就是*。下面的两个变量都是无类型变量:
var aa;
var bb:*;
 
5、当声明一个变量,但没有赋值时,系统会为它分配一个默认值,不同类型的变量默认值是不同的。
数据类型                                 默认值

Boolean                                false
int                                         0
Number                                 NaN
Object                                   null
String                                    null
uint                                       0
未声明(与类型注释 * 等效)     undefined
其它所有类(包括用户定义的类)null
  •  无类型变量的默认值是undefined
  • Boolean、int、Number、uint之外所有类型变量的默认值都是null。而将undefined赋值给这部分变量时,赋的值就会转换成null.
  • null对 Boolean、int、Number、uint这四种类型变量是无效的,当将null赋值给这四种类型变量时,会将null值转换为它们对应的默认值。如:
    var i:int;
    i = null;
    trace(i);           //0
    如i的值还是为0;
本文地址:http://kino.iteye.com/blog/235533 ,转载请注明,谢谢!
1
0
分享到:
评论

相关推荐

    TrueTime安装备忘.pdf

    ### TrueTime安装备忘知识点详解 #### 一、TrueTime简介 TrueTime是一款由瑞典隆德大学自动控制系的研究人员Martin Ohlin、Dan Henriksson和Anton Cervin开发的网络化控制仿真工具箱。这款工具箱是基于MATLAB/...

    综合Python备忘单.zip

    3. **函数** - 定义函数:使用`def`关键字,参数传递可以是位置参数、关键字参数或默认参数。 * lambda表达式:创建匿名函数,如`lambda x, y: x + y`。 * 递归:函数调用自身,解决分治问题。 - 匿名函数与高阶...

    python使用tkinter实现简单有界面的备忘录

    import tkinter as tk from tkinter import messagebox root = tk.Tk() root.title("简易备忘录") ``` 接下来,我们可以设计窗口的布局。使用`tk.Frame`创建框架,用于放置不同的组件,如文本输入框、按钮等。例如...

    truetime安装备忘

    ### truetime安装备忘知识点总结 #### 一、TrueTime简介 - **开发者与机构**:TrueTime是由瑞典隆德大学(Lund University)自动控制系的Martin Ohlin、Dan Henriksson和Anton Cervin开发的一款网络化控制仿真工具...

    备忘录文档_202308291043.docx

    1. 在IBM i系统中,设置 CURLIB 环境变量。 2. 创建输出表 FLATFILE,用于存储解析后的记录。 三、创建测试数据 1. 创建测试表 funkyfile,包含id、first_name、last_name和age四个字段。 2. 插入测试数据,创建两...

    theano中的一些备忘1

    例如,`w`就是一个共享变量,其初始值通过`numpy.asarray`创建,并且可以被`function`的`updates`参数所改变。共享变量不能直接作为`function`的输入,但可以参与计算。 当我们定义`function`时,输入参数列表只能...

    Python 数据科学备忘单Python 基础知识.pdf

    - 访问倒数第三个元素:`my_list[-3]` - **列表切片**:可以通过切片来获取列表的一部分或复制整个列表。 - 获取第二个到第三个元素:`my_list[1:3]` - 获取从第二个到最后一个元素:`my_list[1:]` - 获取从第一...

    magit-cheatsheet:magit的便捷备忘单,git的出色emacs模式

    如果您想与org-mode的org-export-as-html及其奇怪的一组准控件进行搏斗,以更新备忘单,则为主org-mode主文件。 导出当前版本的组织模式文件HTML输出,因此您可以进行比较和对比。 实用程序.el文件。 为了使org-...

    Cheat-Sheet:适用于初学者的Python备忘单

    这份备忘单旨在帮助初学者快速掌握Python的基础知识。 1. **变量与数据类型** - 变量:在Python中,你可以直接赋值创建变量,如`name = "Alice"`。Python有多种数据类型,包括字符串(str)、整数(int)、浮点数...

    python-cheatsheet:适用于Python的基本备忘单(PDF,Markdown和Jupyter Notebook)

    - **变量与数据类型**:Python中的变量不需要预声明,可以直接赋值。它有整型(int)、浮点型(float)、字符串(str)和布尔型(bool)等基本数据类型。 - **注释**:单行注释以#开始,多行注释可以使用三引号('...

    cheatsheets:工具备忘单编程语言

    ### **3. 列表与元组** - **操作方法** - list.append():添加元素到列表末尾 - list.extend():将列表与另一个列表拼接 - list.insert():在指定位置插入元素 - list.remove():删除指定元素 - list.pop():...

    oracle存储过程学习经典[语法+实例+调用].docx

    3. **关于Oracle存储过程的若干问题备忘** - 数据表别名在Oracle中不使用`as`关键字,如:`SELECT * FROM table t;` - 在存储过程中,`SELECT`语句后跟`INTO`用于将查询结果存入变量,没有记录则会抛出`NO_DATA_...

    Oracle PlSql存储过程

    **关于Oracle存储过程的若干问题备忘** 1. **数据表别名**:在Oracle中,为表指定别名时不使用`AS`关键字,而是直接使用`table_name alias_name`。 2. **SELECT INTO**:在存储过程中,使用`SELECT`语句时,若要将...

    oracle存储超详细速成学习资料(语法+实例+调用)

    3. **Oracle 存储过程的若干问题备忘** - 数据表别名不能使用`AS`关键字,应该直接写为`table_name alias_name`。 - 在存储过程中,`SELECT`后的字段必须跟`INTO`指定变量,除非使用游标处理整行记录。 - `SELECT...

    Oracle存储过程学习经典[语法+实例+调用].

    - 局部变量声明: 在AS或IS子句之后定义局部变量。 - **执行部分**: - SQL语句: 执行更新、插入等操作。 - PL/SQL控制结构: 使用IF、CASE等控制流程。 - **异常处理**: - 定义异常处理部分,捕获并处理运行时...

    oracle存储过程(语法+实例).docx

    3. **关于 Oracle 存储过程的若干问题备忘** - 数据表别名不能使用`as`,应直接使用别名,如 `table t`。 - 在存储过程中,`SELECT` 后的字段必须跟 `INTO` 关键字,将结果保存到变量中,除非使用游标处理多行记录...

    oracle存储过程学习经典

    #### 关于Oracle存储过程的若干问题备忘 1. **数据表别名限制**:在Oracle中,使用数据表别名时不能使用`AS`关键字,这与某些其他数据库系统有所不同。 2. **SELECT INTO语法**:当使用`SELECT INTO`语句时,必须...

    2022oracle存储过程procedure秘籍参照.pdf

    3. **关于Oracle存储过程的若干问题备忘**: - 数据表别名不加`AS`是Oracle的一个特性,可以直接使用`alias column_name`。 - `SELECT`语句在存储过程中,如果只选择单个字段,必须使用`INTO`将结果存入变量,如`...

    oracle存储过程学习经典[语法+实例+调用]

    ### 关于Oracle存储过程的若干问题备忘 1. 数据表别名不需使用`AS`,可以直接写为`table_name alias`。 2. `SELECT`语句在存储过程中必须配合`INTO`关键字将结果存入变量,除非使用游标处理多行结果。 3. `SELECT.....

    lisp-notes:Common Lisp 的示例代码库

    Common Lisp 备忘单 高级循环 局部变量和函数 局部变量 局部函数 更多关于函数 Lambda 表达式 功能参数 多个值 申请和Funcall 映射函数 更多关于列表 列出函数 推动、弹出和反向 关联列表 更多关于序列 数组 序列...

Global site tag (gtag.js) - Google Analytics