• ベストアンサー

別ファイルのfunctionの読み込み方

こんにちは 外部ファイル hello.js ----------------------------- function aisatsu(){ var aa="hello" } ----------------------------- というファイルが存在した時にjikkou.htmlでaaの値、”hello”を呼び込みたい場合はどう記述すればよいのでしょうか?htmlのなかでaisatsu()をどこに記述していいのか分かりません。どうか教えてください。ただ、hello.jsのほうは実際の記述を簡略化したものであるのでそちらのほうはいじれません。 宜しくお願いします。 必要ないかもしれませんが、念のために私が最初に書いたhtmlの文です(もちろん実行できませんでした) ------------------------------------ <html> <script language="javascript" src="hello.js"> aisatsu(){ document.write(aa); } </script></html> ------------------------------------

質問者が選んだベストアンサー

  • ベストアンサー
  • is_may
  • ベストアンサー率65% (58/89)
回答No.2

function内で「var」をつけて変数を宣言するとfunction外からその変数の内容を取得することができなくなります。(returnで参照することはできます。) なので変数の内容を取得する場合は「hello.js」の内容を function aisatsu(){ var aa="hello"; return aa; } このように修正し、 <script language="javascript" src="hello.js"></script> <script language="javascript"> var data=aisatsu();//「aisatsu()」関数の「aa」変数内のデータを引っ張り出す(return aa;) document.write(data);//書いたり alert(data);//アラートしたり window.status=data;//ステータスバーに表示したり・・ </script>

analogue_brain
質問者

お礼

returnがキーワードだったんですね。ありがとうございました。うまく意味が伝わるか分かりませんが、function aisatsu()のなかでは可能な限りシンプルにしておいて、それを実行するhtmlで読み取った値を自由に操作したかったので教えていただいた文はとてもよかったです。この後、returnについて自主学習してみます。ありがとうございました。

その他の回答 (1)

  • STICKY2006
  • ベストアンサー率29% (1536/5269)
回答No.1

----------------------------- function aisatsu(){ var aa="hello" } ----------------------------- ↓ ----------------------------- function aisatsu(){ var aa="hello" document.write(aa); } ----------------------------- か、aaをグローバル変数に~すればよさそうなもんですけど、どっちにしろhello.jsを触れないんじゃちょっと出来ないかと。 aa=helloはaisatsuのfunction内で消えちゃうので、どこにも引っ張り出せないように思います。 http://www.tohoho-web.com/js/function.htm

analogue_brain
質問者

お礼

ご回答ありがとうございました。 hello.jsをいじらないでといったのはfunction aisatsu()を維持したかったためだったんですが、それ以外はいじってもらってよかった気がします。変な制約を作ってしまって申し訳ありませんでした。でも、functionで定義(?=用語がわかりません)した構文はそのままではfunctionから持ち出せないんですか?それが分かっただけでも大変参考になりました。ありがとうございました。

関連するQ&A