参照関数呼び出しのjsファイル

開発中に遭遇する1つの問題は、コードのデモ次のように:

ファイルの内容をtest.js:

 1件の VARの B = getHomeCity()。 

 

ファイルのtest.htmlという内容:

1 <!DOCTYPE HTML>
 2 <HTML>
 3      <ヘッド>
 4          <タイトル>テストHTMLページ</タイトル>
 5          ます。<script type = "text / javascriptの" SRC = "test.js"> </ SCRIPT>
 6          <スクリプトタイプ= "テキスト/ javascriptの">
 7  
8  9                  関数(ウィンドウ){
 10                      アラート(B);
 11                  }
 12              )(ウィンドウ)
13              
14              機能getHomeCity(){
 15                  リターン 10  18は、      </ head>の
 19。      <身体>
 20であるが          、<! - -ここに入れた>
 21が      </ BODY>
 22である </ HTML>

実行結果:

コンソールを開き、エラーが見つかりました:

getHomeCity()は未定義:

 

 

その後、私は位置のビットgetHomeCity()関数を変更しました:

1 <!DOCTYPE HTML>
 2 <HTML>
 3      <ヘッド>
 4          <タイトル>テストHTMLページ</タイトル>
 5          <スクリプトタイプ= "テキスト/ javascriptの">
 6              関数getHomeCity(){
 7                  リターン 10 8              }
 9          </スクリプト>
 10          <スクリプトタイプ= "テキスト/ javascriptの" SRC = "test.js"> </ SCRIPT>
 11          <スクリプトタイプ= "テキスト/ javascriptの">
 
                    。17              )(ウィンドウ);
 18である             
19。          </ SCRIPT>
 20である      </ head>の
 21はある      の<body>
 22がされる          < - -ここに入れた!>
 23である      </ BODY>
 24 </ HTML>

結果:

 

同じ関数呼び出しのスクリプトコードブロック:

1 <!DOCTYPE HTML>
 2 <HTML>
 3      <ヘッド>
 4          <タイトル>テストHTMLページ</タイトル>
 5          <スクリプトタイプ= "テキスト/ javascriptの">
 6              
7              VAR = B getHomeCity()。
8  9                  関数(ウィンドウ){
 10                  
11                      アラート(B);
 12                  }
 13              )(ウィンドウ)
14              関数getHomeCity(){
 15                  リターン 10 16              }
 17          </スクリプト>
 18     </ head>の
 19。      <身体>
 20          <! -ここに入れた- >
 21である      </ BODY>
 22である </ HTML>

結果:

 

 

結論:

同じブロック内のスクリプトコードは、関数は、関数を実行することができ、後リフト関数定義、関数定義エディトリアルの原理によれば、互いを呼び出したりすることができ

しかし、そうでない場合は、状況は未定義表示され、関数を呼び出す前に関数を定義するようにしてください、別のスクリプトコードブロック間の関数を呼び出します。

 

おすすめ

転載: www.cnblogs.com/lanshanxiao/p/11862875.html