zoukankan      html  css  js  c++  java
  • ActionScript中Object和Dictionary的区别

        这里做个笔记吧。

        Object使用字符串作为key,即使你使用了其他类型的数据作为key,Object也会将使用该key的toString方法得到其字符串表示作为key来存储,也就是说Object使用toString方法进行键的比较。

    var a:Object = new Object();

    var ka:Object = new Object();

    a[ka] = 'i am ka';

    trace(a['ka']); // 输出 i am ka

        Dictionary使用各种数据类型来作为key,它使用全等运算符(===)来进行键比较,在使用对象作为键时,它只比较实际的对象,即使这个对象有多个引用,在它眼中也只是一个键罢了。但是我发现一个很奇怪的现象,就是对Dictionary来说,指定key为整型字符串的时候,它会直接转换成Number类型存储,但是带小数点的浮点数字符串则依然按照字符串存储,这点有点不解~~~~~~~

    var b:Dictionary = new Dictionary();
    var ka:Object = new Object();
    var ka_1:Object = ka;
    b[ka] = 'ka here';
    trace(b[ka_1]); //输出: ka here
    trace(b['ka']); //输出: undefined
    b['1'] = 'this is 1';
    trace(b[1]); //输出: this is 1
    b['1.1'] = 'this is 1.1';

    for( var k:Object in b){
       trace(k);
       trace(typeof k);
    }
    /* 输出:
    1
    number
    1.1
    string
    [object Object]
    object
    */

  • 相关阅读:
    AVLTree的实现以及左右旋转维持自平衡
    哈希函数之布隆过滤器
    LeetCode——线段树解决区间总和问题
    第23章 Windows身份验证
    第22章 使用外部身份提供商登录
    第21章 登录
    第20章 定义客户端
    第19章 定义资源
    第18章 启动
    第17章 社区快速入门和模板
  • 原文地址:https://www.cnblogs.com/doomsword/p/2487181.html
Copyright © 2011-2022 走看看