忍者ブログ

からすまる日誌 JavaScript

応用(8) 関数内で関数を呼び出す

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

応用(8) 関数内で関数を呼び出す

なお、ページを移動しても変数の値を保持したかったら、
クッキーにもたせるか、
PHPはセッションというのを持つのでそれをプールする方法がある。

クッキーは最近はよろしくないらしい。
セッションの方も、いきなりブラウザ閉じちゃったりすると
なかなか難しいらしい。
 

(続き)
関数内で宣言したvar cnt;を、関数の外でconsole.log('cnt');しようとしてもエラーになる。
function内で宣言された変数の有効範囲はfunctionにいる間しかない。
抜けたら消える。
 

もうひとつの方法は、グローバルスコープを使わないで、
関数内でreturnを使う方法。
 
--->test1.html
 
<!DOCTYPE html>
<html lang="ja">
<head>
 <meta charset="UTF-8">
 <title></title>
 <link rel="stylesheet" href="test1.css">
</head>
<body>
 <button onClick="answer()">click</button>
 <p id="disp"></p>
 <script src="test1.js"></script>
</body>
</html>
 
 
--->test1.js
 
p1 = document.getElementById('disp');
var cnt = 0;//何回クリックしたか
 
function countup(){
 cnt ++;//cntを呼び出して1つ増やす
 //p1.innerHTML=cnt+'回クリックされました';
 return cnt;
}
 
function answer(){
  var res = countup();
  console.log(res);
  p1.innerHTML=res+'回クリックされました';
}
 

いわばクリック数の把握(var cnt)と画面表示する変数(var res)を分割して、
function countupとfunction answerで持っている形。

この場合あまり意味はないだろう。複雑なプログラムで後々変更の見込まれる場合など、分割する意味がある場合がある。
処理は最低限の単位でfunctionにまとめるといいらしい。
 
 

jQuary(ジェイクエリー)
 
min(ミン)
プロダクション、コンプレスト、圧縮されているという意味(最小化しているという意味でminという)
 
jQuaryは<head>内で事前に読み込んでおく。
自分が使いたい部分だけ<body>で呼び出して使う
 
<head>内に記述 
<script src="../jquery-3.4.1.min.js"></script> //1つ上のディレクトリのjQuaryファイル
 
jQuaryのファイルを保存したディレクトリが一つ上だから、
../を追加する必要がある。
 
PR

コメント

ただいまコメントを受けつけておりません。

ブログ内検索

P R