English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Этот пример рассказывает о применении arguments.callee в функции JavaScript. Поделюсь с вами, вот как это можно сделать:
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script type="text/javascript"> //Метод 1, этот метод не позволяет реализовать рекурсивное вычисление факториала, когда имя функции fac указывает на новый функцию // function fac(num) { // if (num <= 1) { // return 1; // } // else { // return num * fac(num - 1); // } //метод 2 function fac(num) { if (num <= 1) { return 1; } else { return num * arguments.callee(num - 1); //arguments.callee указывает на текущий метод } } window.onload = function () { var func = fac; fac = function () { //указывает на новую функцию return 1; } alert(func(5)); //метод 1 выводит 5, метод 2 выводит факториал 5 alert(fac(5)); //вывод 1 } </script> </head> <body> </body> </html>
Для тех, кто интересуется дополнительной информацией о JavaScript, можно посмотреть темы на этом сайте: «Суммарные советы по операциям с массивами JavaScript», «Суммарные советы по использованию математических операций JavaScript», «Суммарные советы по структурам данных и алгоритмам JavaScript», «Суммарные советы по эффектам и техникам JavaScript», «Суммарные советы по алгоритмам поиска JavaScript», «Суммарные советы по эффектам анимации и техникам JavaScript», «Суммарные советы по ошибкам и техникам отладки JavaScript» и «Суммарные советы по алгоритмам и техникам遍ения JavaScript»
Надеюсь, что это руководство поможет вам в разработке программ на JavaScript.
Заявление: содержимое этой статьи взято из Интернета, авторские права принадлежат соответствующему владельцу. Контент предоставлен пользователями Интернета, загружен самостоятельно, сайт не имеет права собственности, не underwent редактирование вручную и не несет ответственности за связанные с этим юридические обязательства. Если вы обнаружите спорное содержимое о нарушении авторских прав, пожалуйста, отправьте письмо по адресу: notice#oldtoolbag.com (во время отправки письма, пожалуйста, замените # на @) для отчета и предоставьте соответствующие доказательства. Если будет установлено, что содержимое нарушает авторские права, сайт немедленно удалил спорное содержимое.