惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
月光博客
月光博客
MyScale Blog
MyScale Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
爱范儿
爱范儿
P
Proofpoint News Feed
人人都是产品经理
人人都是产品经理
Last Week in AI
Last Week in AI
罗磊的独立博客
G
Google Developers Blog
Y
Y Combinator Blog
博客园 - 【当耐特】
WordPress大学
WordPress大学
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
J
Java Code Geeks
酷 壳 – CoolShell
酷 壳 – CoolShell
V
Visual Studio Blog
美团技术团队
宝玉的分享
宝玉的分享
Jina AI
Jina AI
小众软件
小众软件
T
Tailwind CSS Blog
A
About on SuperTechFans

博客园 - 心雨无痕

升级openssl和openssh linux配置LVM 杂七杂八 .net程序包含webbrowser插件时遇到的各种问题 mysql连接远程服务器很慢的解决方法 centos安装php需要注意的问题 centos配置nfs杂七杂八 iptables配置网络端口转发 桥接模式 适配器模式 单例模式 原型模式 工厂方法模式 简单工厂模式 建造者模式 FlashBuilder4.5破解方法 抽象工厂模式 设计模式浅见 了解下常见的开源协议
ActionScript中Object和Dictionary的区别
心雨无痕 · 2012-05-07 · via 博客园 - 心雨无痕

    这里做个笔记吧。

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