有人有关于 is 运算符性能的文章/测试吗?我在 Google 上找不到任何东西,它只是因为太小而吃掉了我的“is”关键字。
我计划在我的组件的消息传递系统中广泛使用 is 运算符,因此性能需要稳定。如果我能做到的话,它将使我不必为每条消息提出一个 id 和 id-lookups 的方案:
function onMessage(message : Message, type : Class) : void
{
switch(type)
{
case MessageOne:
// whatever
break;
case MessageTwo:
// whatever
break;
}
}
我所做的时序测试表明它几乎与整数比较一样快,所以我只想确定一下。
有人做过自己的测试或知道一些文章吗?
谢谢。
最佳答案
“is”运算符非常快,即使每秒进行数万次测试。
不仅如此,它确实是比较继承层次结构的最佳实践,而不仅仅是类名(例如比较 Image 是否为 UIComponent
)以及对接口(interface)实现的支持(所以比较Image is IEventDispatcher
例如)。
更多:http://livedocs.adobe.com/flex/3/html/03_Language_and_Syntax_09.html#122921
所以,是的,它已经足够快了——而且,如果不是这样,并且你不得不打破语言的基本最佳实践以使其符合你的设计意愿——那么你做错了。
:)
关于flash - Flash/ActionScript 3 中 is 运算符的性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6619784/