public var obj:Object;
public var dictionary:Dictionary;
public function MyClass(){
obj = new Object();
dictionary = new Dictionary();
obj["1"] = 1;
obj["2"] = 2;
dictionary["3"] = 3;
dictionary["4"] = 4;
}
public function returnFromObject(parameter:String):int{
return obj[parameter];
}
public function returnFromDictionary(parameter:String):int{
return dictionary[parameter];
}
他们可以为我服务。除非使用其中任何一个我都不知道的明显性能损失。
答案 0 :(得分:2)
不同之处在于能够将对象用作键而不是字典中的字符串。除此之外,我不知道有任何重大差异(不要记得曾经在这些方面看到任何真正的基准,所以如果有人更明智,请告诉我们。)
http://gskinner.com/blog/archives/2006/07/as3_dictionary_.html
在评论中只提到页面上的表现只是一个简短的表现,一般来说,他们说我发现这些都是白痴并依赖于申请。
答案 1 :(得分:2)
看起来像Dictionary比对象和数组要快得多:
http://www.zombieflambe.com/actionscript-3/as3-dictionary-class-array-object-benchmark/
答案 2 :(得分:1)
虽然可能存在比这更多的差异,但我的第一个想法是变量声明,以及循环对象的能力。
var obj:Object = new Object();
obj.a = "test1";
obj.b = "test2";
obj.c = "test3";
for each (var prop in obj) trace(prop); //traces "test1, test2, test3"
此处提供更多信息:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/Dictionary.html