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
    */

  • 相关阅读:
    2019天梯赛训练1
    Python课程设计 搭建博客
    最容易理解的贪吃蛇小游戏
    数据结构-队列
    数据结构-堆栈(2)
    数据结构-堆栈(1)
    数据结构-线性表(3)
    数据结构-线性表(1)
    linux知识积累
    Maven学习笔记
  • 原文地址:https://www.cnblogs.com/doomsword/p/2487181.html
Copyright © 2011-2022 走看看