English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
本文実例で、Javascript関数のarguments.calleeの使用法について説明します。大話柄の皆さんに参考にして、以下の通りです:
!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プログラムデザインに役立つことを願っています。
声明:本文の内容はインターネットからネットワークで提供され、著作権者に帰属します。インターネットユーザーが自発的に貢献し、自己でアップロードしました。本サイトは所有権を持ちません。また、人間による編集は行われていません。著作権侵害を疑われる内容がある場合は、以下のメールアドレスまでご連絡ください:notice#oldtoolbag.com(メールを送信する際は、#を@に置き換えてください。報告を行い、関連する証拠を提供してください。一旦確認がとりあえず、本サイトは即座に侵害を疑われるコンテンツを削除します。)