※ ChatGPTを利用し、要約された質問です(原文:関数呼び出しを制御する関数について)
質問:関数呼び出しを制御する方法とは?
このQ&Aのポイント
関数呼び出しを制御する方法についての質問です。異なる関数を条件によって呼び出す場合、どのように実装するのか疑問を感じています。
例えば、特定のボタンを押下した時に関数を呼び出す場合、事前にグローバル変数の設定を行いたいですが、うまく機能しませんでした。
また、引数を指定しないで関数を呼び出す場合、正しく実行されるのでしょうか?
条件によって異なる関数を呼び出す関数を作成するときに幾つかの疑問を感じました。
例えば、ボタンを入力することによってmake_textbox()という関数(新たなテキストボックスを表示する因数なし戻り値なしの関数)を呼び出したときに、その関数を呼び出す前にグローバル関数の設定を行いたくなって
function complex(){ ///新たな関数
x = $('form1'),value; /// グローバル変数の設定($ ← は prototype.jsによる)(form1の値をとる)
make_textbox();
}
といったcomplex()関数を作ったのですが、テキストボックスを作ってはくれませんでした。
また、
function make(){
make_textbox();
}
といったmake_textboxを呼び出すだけの関数を呼び出してもテキストボックスは生成されませんでした。javascriptは引数を指定することなしにidを指定しさえすれば自由に、入力された値を操作できるので、引数なし戻り値なしの下のような関数を作ってみたのですが、実際これは的確に関数を呼び出せるのでしょうか?
function f(){
if($('form1').value == 1){
f(); //例えばf()はテキストボックスに入力された値を配列に入れ替えたりする関数で
g(); //g()はその配列で行列地を計算したりなど
}
h();
}
また、もしお時間がございましたら、図々しいようですが下に提示するサンプルソースをご閲覧願います。もしご覧くださるのであれば、300行を超えるhtml&javascriptコード(ひとつ)なのでお時間をとってしまうことになりますから、「スクロールしてみても明らかに間違ってるよ」といえるような箇所をご指摘いただけたらあり難いです。サンプルソースは行列演算に関するもので、.txtファイルをダウンロードする形式になっております。
http://www1.axfc.net/uploader/Sc/so/183286
どうか、以上の私が抱いた疑問を解決して下さればあり難いです。
お礼
ありがとうございます。notnot様の仰る通り関数を呼び出す過程で間違いが生じていました。