1. JavaScript / Говнокод #7457

    +150

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    function Point(){
    	this.x = 0;
    	this.y = 0;
    	if(arguments.length==2){				//if parameters are 2 points
    		this.x = arguments[0] || 0;
    		this.y = arguments[1] || 0;
    	}else
    		if(arguments.length==1){			//if parameter is a point object
    			this.x = arguments[0].x;
    			this.y = arguments[0].y;
    		}
    };

    Запостил: yahoo, 05 Августа 2011

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

    • код, конечно, далек от оптимального, но вопиющего идиотизма нет.
      не плюсую и не минусую
      Ответить
    • Вы бы что ли пальцем ткнули, где тут говнокод.
      Ответить
      • показать все, что скрытоНу какой arguments где здесь это обьявлено. Тот кто это писал вообще не разбирается в JavaScript
        Ответить
        • Это как раз вы вообще не разбираетесь в JS :)

          Запустите в консоли: (function(){alert(arguments.length)})(1, 2,3)
          Ответить
        • И точно! А еще this откуда-то необъявленный взялся...
          Ответить
          • this - это для конструктора, можно потом использовать как-то так:
            var pt = new Point(0,0) // получаем объект {x: 0, y: 0}
            но код всё равно кривой и страстно требует напильника
            Ответить
    • так нельзя делать?
      Ответить
    • Вот что с людьми отсутствие статической типизации и перегрузок делает.
      Ответить
    • У этого дебила Point(5) == Point(5, 5)
      Ответить

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