- ベストアンサー
関数を書く場所が分かりません。
- JavaScriptを使用して、特定の処理を関数にまとめることができます。
- 関数は、プログラム内の任意の場所に書くことができますが、一般的にはスクリプトの上部に書くことが推奨されています。
- 具体的には、<script>タグの上に関数を記述することが一般的です。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
なんだか関数の使い方を一部誤解なさっているように感じられますので ご質問の「c=a*2+b*3」を例に簡単なサンプルを。 var a = 1; var b = 2; var c; alert( kansu(a, b) ); // →8 (= 1*2 + 2*3) alert( kansu(2, 3) ); // →13 (= 2*2 + 3*3) a = 3; c = kansu(a, b); alert( c ); // →12 (= 3*2 + 2*3) function kansu(p, q){ return p*2 + q*3; } 関数を記述する場所は若干の制約はありますが、前の方の回答の通りで基本的には「どこでも良い」です。
その他の回答 (2)
- tracer
- ベストアンサー率41% (255/621)
JavaScriptを書ける場所ならどこでもいいですよ。 ただ、内容によっては、関数の場所ではなくて、JavaScriptを書く場所に問題が出るケースもあります。 たとえば、 hoge=getElementById('hoge'); としたとき、 このJavaScirptが、実際のhtml内の#hogeエレメントの出現位置よりも前に書かれている場合は、変数hogeの中には正常な値が入りません。これは、ブラウザがhtmlの上から下の一方向に向けてレンダリングをするためです。 その場合は、#hgoeよりも後にJavaScriptを書くか、onLoadなどでJavaScriptの実行を遅らせます。
お礼
なるほど。そうなんですね。 呼び出すときはそのまま kansu() みたいに「ただ実行して戻ってこい」みたいでいいんですか? c = kansu() みたいに戻り値を受けないとだめですか?
- notnot
- ベストアンサー率47% (4900/10358)
どこでもいいです。つまり、そこでもいいです。 >この3行を有効にしたら上記3つのc=a*2+b*3は削除することになります。 削除じゃなくて、kansu() に書き換えですね。
お礼
質問を投稿してからそのことに気付きました。 ご心配をおかけしてすみませんでした。
お礼
なるほど。そうやればいいんですね。 たとえば、次のように、関数を呼び出して処理して戻ってくるだけ、みたいな関数の使い方はできるんですかね? var b = 0; var c = 0; var a = prompt("1~5のうち、好きな数字を一つ入力してください。",""); kansu(a); alert(b + "と" + c); a = prompt("0~4のうち、好きな数字を一つ入力してください。",""); kansu(a); alert(b + "と" + c); function kansu(a){ if (a==0){ b=1; c=2; } if (a==1){ b=3; c=5; } if (a<>0 and a<>1){ b=5; c=8; } }
補足
あ、すみません。 自己解決しました。 論理演算子などが間違っていました。 ありがとうございました。