ГЛАВНАЯ     АРХИВ     НАПИСАТЬ АДМИНУ     ПОДПИСАТЬСЯ НА RSS     ВОЙТИ      

Поиск

Категории

Облако тегов

  << Предыдущий пост       Следующий пост >>  
От: ironMan
26. мая 2011 00:29

Часто на фрумах задают вопрос как создать анонимную рекурсивную функцию на Java Script. Ответом является использование Arguments.Callee.

Первый пример показывает, как создать обычную рекурсивную функцию на Java Script и вызвать ее:

<script type="text/javascript">

    function factorial(num)
    {
        /* Round num if not integer */
        num = Math.floor(num);

        if (num == 0)
        {
            return 1;
        }       
        else
        {
            return (num * factorial(num - 1));
        }
    }

    document.writeln(factorial(7));

</script>

Второй пример показывает, как создать рекурсивную функцию, но с анонимным вызовом самой себя и вызвать ее:

<script type="text/javascript">

    /* anonymous function */
    var factorial = new function(num)
    {
        /* Round num if not integer */
        num = Math.floor(num);

        if (num == 0)
        {
            return 1;
        }       
        else
        {
            return (num * arguments.callee(num - 1));
        }
    }

    document.writeln(factorial(7));

</script>

Примечание: Arguments.Callee не может быть вызвана в прямом (strict) режиме, и, скорее всего, (зависит от реализации) такой вызов будет работать в разы медленнее обычного.



YouTube отобрал короткометражки для Венецианского кинофестиваля

Похожие записи


Вопросы на собеседовании C#, Net, ASP.NET, SQL
Продолжая тему вопросов на собеседовании. Нашел еще одну подборку. Оригинал лежит здесь . Перенес, чтобы не затерялось. Есть вполне вменяемые ответы (хотя, на некоторые вопросы ответил бы по-другому). Ответы находятся после списка вопросов, я их не менял. 23. Что такое шаблон проектирования Model/View/Controller? Как и зачем его применяют? 2...

Способы заработка на сайте
На этом блоге было много постов про производство и раскрутку сайтов. Но пока не было про заработок на них. Пора исправить этот недочет. Здесь будут описаны по возможности не фантастичные, и не супер низко прибыльные способы. Также упор будет сделан именно на организацию процесса, а не технических деталях, которых в обилии в интернете. Несмотря на то, что как пр...

Silverlight, HTML5 и непрозрачная стратегия развития Microsoft
Оригинал статьи взят отсюда: Silverlight, HTML5 и непрозрачная стратегия развития Microsoft Автор: Peter Bright Переводчик: Mairon     По непонятным мне на данный момент причинам, похоже, что многие разработчики, присутствовавшие на недавней конференции PDC-2010 (Крупнейшая конференция Microsoft для разработчиков — Прим. переводчика), были сильн...

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




biuquote
  • Комментарий
  • Предпросмотр
Loading


  Сохранить комментарий