1. ActionScript / Говнокод #6691

    −112

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    private function getListenerIndex(func:Function):Number
    {
    	var num:Number = -1;
    	
    	for(var i:int = 0; i < mouseWheelListeners.length; i++)
    	{
    		if(func == mouseWheelListeners[i])
    		{
    			num = i;
    			break;
    		}
    			
    	}
    	return num;
    }
    
    public function addMouseWheelListener(subscriberFunc:Function):void
    {
    	if(getListenerIndex(subscriberFunc) == -1)
    		mouseWheelListeners.push(subscriberFunc);
    }

    Отдельного внимания заслуживает тот факт, что человек решил, что индексов в массиве не будет больше чем максимальное цело 32-битное знаковое, и не меньше чем минимальное, а вернул все равно Number. (Для не разбирающихся в AS3 есть Array.indexOf(), метод который делает то, что делает getListenerIndex() в данном примере, только быстрее, и называется по-человечески. Но автор считает, что мануал написан для идиотов...)

    Запостил: wvxvw, 17 Мая 2011

    Комментарии (1) RSS

    Добавить комментарий