![]() |
|
||||||||||
|
|||||
|
стервочка (я мужик)
|
все тесты проводились во Flash CS4
2. имеют кривую типизацию. import flash.events.EventDispatcher; function test():Function { return function() { return 0; } } var dispatcher = new EventDispatcher(); dispatcher.addEventListener( 'test', test() ); // всё окей dispatcher.addEventListener( 'test', test ); // ArgumentError: Error #1063 dispatcher.dispatchEvent( new Event( 'test' ) ); 3. жрут больше памяти. import flash.sampler.getSize; function test():Function { return function() { return 0; } } trace( getSize( test ) ); // 32 trace( getSize( test() ); // 666 4. у них плавающий объект активации. function test():Function { trace( '1', this ); return function() { trace( '2', this ); } } test()(); // 1 [object MainTimeline] // 2 [object global] var f:Function = test(); f(); // 1 [object MainTimeline] // 2 [object MainTimeline] var o = {}; test.call( o ); f.call( o ); //1 [object MainTimeline] //2 [object Object] 5. от них проблемно отписываться. import flash.events.EventDispatcher; function test():Function { return function() { return 0; } } var dispatcher = new EventDispatcher(); dispatcher.addEventListener( 'test', test() ); 6. их нельзя сравнивать друг с другом. соответсвенно потеря ссылки на метод приводит нас к пунктам 1 и 5 Последний раз редактировалось etc; 02.07.2009 в 13:44. |
![]() |
Часовой пояс GMT +4, время: 23:59. |
|
|
« Предыдущая тема | Следующая тема » |
|
|