as3提供一个Dictionary 对象,它和Object有什么区别呢,我作了一个测试:
使用Dictionary对象保存键值数据:
var dict = new Dictionary();
var obj1 = new Object();
var obj2 = new Object();
var key:Object = new Object();
key.toString = function() { return "key" }
dict[key] = "Letters1";
dict[obj1] = "Letters1";
dict[obj2] = "Letters2";
trace([dict[key],dict[obj1],dict[obj2]]);//Letters1,Letters1,Letters2
trace(dict[key] == dict[obj1]);//true
trace(obj1 == key);//false 使用Object对象保存键值数据:
var dict = new Object();
var obj1 = new Object();
var obj2 = new Object();
var key:Object = new Object();
key.toString = function() { return "key"
本文转自:http://www.5uflash.com/flashjiaocheng/Flash-as3-jiaocheng/1963.html
使用Dictionary对象保存键值数据:
var dict = new Dictionary();
var obj1 = new Object();
var obj2 = new Object();
var key:Object = new Object();
key.toString = function() { return "key" }
dict[key] = "Letters1";
dict[obj1] = "Letters1";
dict[obj2] = "Letters2";
trace([dict[key],dict[obj1],dict[obj2]]);//Letters1,Letters1,Letters2
trace(dict[key] == dict[obj1]);//true
trace(obj1 == key);//false 使用Object对象保存键值数据:
var dict = new Object();
var obj1 = new Object();
var obj2 = new Object();
var key:Object = new Object();
key.toString = function() { return "key"
本文转自:http://www.5uflash.com/flashjiaocheng/Flash-as3-jiaocheng/1963.html
本文通过示例对比了AS3中Dictionary对象与Object的区别。测试显示,使用Dictionary时,即使键对象不同,但只要toString方法返回相同字符串,也会被视为同一键;而使用Object则不会出现这种情况。
190

被折叠的 条评论
为什么被折叠?



