ФорумПрограммированиеJavaScript → Аргументы функции по умолчанию в JavaScript

Аргументы функции по умолчанию в JavaScript

  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 15 декабря 2008 г. 8:11

    Думаю, тема не тянет на фак или готовое решение, потому пусть будет здесь :)

    В JavaScript нет аргументов функции по умолчанию в том виде, в котором они есть, например, в PHP:
    function someFunction($a = 'fuck')
    {
    return $a;
    }

    echo someFunction('omg'); // выведет omg

    echo someFunction(); // выведет fuck


    Поэтому от многих слышал, дескать, аргументы по умолчанию в JavaScript невозможны. В таком виде — да, невозможны, но реализовать подобную логику очень даже возможно:

    function someFunction(a)
    {
    if (typeof a == 'undefined') {
    a = 'fuck';
    }

    return a;
    }

    alert(someFunction('omg')); // выведет omg

    alert(someFunction()); // выведет fuck


    Может кому будет полезно :)
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 15 декабря 2008 г. 8:15, спустя 3 минуты 31 секунду

    снежинка.

    function someFunction(a)
    {
    a = a || 'fuck';
    return a;
    }
    Сапожник без сапог
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 15 декабря 2008 г. 8:15, спустя 35 секунд

    function someFunction(a)
    {
    return a || 'fuck';
    }

    порефакторили, а то мавр доебется)
    Сапожник без сапог
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 15 декабря 2008 г. 8:16, спустя 1 минуту 6 секунд

    phpdude, а почему без использования Жквери ?  =))))))
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 15 декабря 2008 г. 8:18, спустя 1 минуту 28 секунд


    phpdude, а почему без использования Жквери ?  =))))))
    потому что сап минус поставит
    Сапожник без сапог
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 15 декабря 2008 г. 8:18, спустя 14 секунд

    return a || 'fuck';

    +1
    adw/0
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 15 декабря 2008 г. 8:19, спустя 52 секунды


    function someFunction(a)
    {
       return a || 'fuck';
    }

    порефакторили, а то мавр доебется)

    Жестоко :)


    phpdude, а почему без использования Жквери ?  =))))))

    :DDD
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 15 декабря 2008 г. 8:20, спустя 47 секунд

    adw0rd, стараюсь)
    Сапожник без сапог
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 15 декабря 2008 г. 8:21, спустя 1 минуту 19 секунд


    return a || 'fuck';

    +1

    Не, ну а если обработать надо переменную)) Так что лучше:
    function someFunction(a)
    {
       a = a || 'fuck';
       return a;
    }
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 15 декабря 2008 г. 8:22, спустя 1 минуту 4 секунды

    phpdude, я тоже самое юзаю… К таким техникам можно быстро прийти с помощью чтения множества блогов, в том числе пыхи и хабра ;-)
    А сап явно к своему решению сам пришел :-)
    adw/0
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 15 декабря 2008 г. 8:23, спустя 40 секунд

    а вообще в жс || и && чуток не то же самое что и в пхп, а жаль что в пхп не так))

    || a || b || c || d || e || f - вернет первый, который определен(не равен 0). а && если мне не изменяет память вернет последнее из определеных (не равное 0) либо false если попались неопределенные.
    Сапожник без сапог
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 15 декабря 2008 г. 8:23, спустя 20 секунд



    phpdude, а почему без использования Жквери ?  =))))))
    потому что сап минус поставит

    Сап скоро выложит на линчевание проект, на котором мегасложный джаваскрипт и никакого Жквери, и всех, кто будет Сапу говорить про Жквери, будет тыкать носом и говорить «напиши такое, потом поговорим» :)
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 15 декабря 2008 г. 8:24, спустя 22 секунды



    return a || 'fuck';

    +1

    Не, ну а если обработать надо переменную)) Так что лучше:
    function someFunction(a)
    {
       a = a || 'fuck';
       return a;
    }

    это то понятно, я же гвоорю что специально для мавра написал отрефактореную версию, а то он бы доебался 99% )))))))
    Сапожник без сапог
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 15 декабря 2008 г. 8:24, спустя 40 секунд

    а вообще в жс || и && чуток не то же самое что и в пхп, а жаль что в пхп не так))

    || a || b || c || d || e || f - вернет первый, который определен(не равен 0). а && если мне не изменяет память вернет последнее из определеных (не равное 0) либо false если попались неопределенные.

    Круто, не знал :)
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 15 декабря 2008 г. 8:25, спустя 56 секунд




    phpdude, а почему без использования Жквери ?  =))))))
    потому что сап минус поставит

    Сап скоро выложит на линчевание проект, на котором мегасложный джаваскрипт и никакого Жквери, и всех, кто будет Сапу говорить про Жквери, будет тыкать носом и говорить «напиши такое, потом поговорим» :)
    жиквери не сложный в смысле его код, он просто кроссбраузерный,позволяет писать меньше и делать больше :)

    а ценят не по длине, а по толщине ;) я про размер проекта :)
    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!