今回は関数というしくみの理解をさらに深めていきます。
1 関数をつくる
前回は単純な足し算、割り算を使った関数だったので独自の関数を作ってみます。
HTML(一部)
<script>
function calcArea(base, height){
let area = (base * height) / 2;
return area;
}
let a = 12;
let b = 24;
let c = calcArea(a, b);
document.write("<p>三角形の面積:" + c + "</p>");
</script>
ブラウザ
ありそうでなかった(?)三角形の面積を求める関数です。
2 関数の上書き
ここからは、関数のしくみやルールの紹介です。
HTML(一部)
<script>
function helloSan(name){
document.write("<p>" + name + "さん、こんちには。</p>");
}
a = "鈴木";
helloSan(a);
</script>
ブラウザ
これは関数 helloSan を定義して、その後に「鈴木」を代入した変数 a を引数として、その関数 helloSan を呼び出しています。
次に関数 helloSan を上書きしてみましょう。
HTML(一部)
<script>
function helloSan(name){
document.write("<p>" + name +"さん、こんちには。</p>");
}
function helloSan(name){
document.write("<p>こんにちは、" + name + "さん。</p>");
}
a = "鈴木";
helloSan(a);
</script>
ブラウザ
後から定義したものが適用されていることがわかると思います。
3 変数のスコープ
次はスコープ(有効な範囲)という考え方です。
HTML(一部)
<script>
let a = "関数の外側";
function display(){
let b = "関数の内側";
document.write("<p>" + a + "です。</p>");
document.write("<p>" + b + "です。</p>");
}
display();
document.write("<p>----------------</p>");
document.write("<p>" + a + "です。</p>");
document.write("<p>" + b + "です。</p>");
</script>
ブラウザ
注目したいのは、関数内と関数外に同じ記述があることです。
「document.write(“<p>” + a + “</p>”);」と「document.write(“<p>” + b + “</p>”);」の部分ですね。
しかし実行結果をみると、関数内の write メソッドは両方実行されて「関数の外側」「関数の内側」と表示されているのに対して、関数外の write メソッドは「関数の外側」という部分しか実行されていません。
HTML(一部)
<script>
function display(){
let b = "関数の内側";
document.write("<p>" + b + "です。</p>");
}
document.write("<p>" + b + "です。</p>");
</script>
分かりやすいように変数 b の部分のみを抜き書きしてみました。
見てわかるように、変数 b を利用できるのは関数内にある場合であり、関数の外にある場合は利用できないのです。
これがローカルスコープという考え方です。
そしてローカルスコープを持つ変数のことをローカル変数といいます。
HTML(一部)
<script>
let a = "関数の外側";
function display(){
document.write("<p>" + a + "です。</p>");
}
document.write("<p>" + a + "です。</p>");
</script>
ところが変数 a は関数の外に定義されています。
このような場合は、関数内であろうと外であろうと利用が可能となります。
これがグローバルスコープという考え方です。
そしてグローバルスコープを持つ変数のことをグローバル変数といい、これはプログラム全体で使用可能です。
4 次回
さて次回も引き続き「関数」です。
さらに関数の性質を理解していきましょう。
カテゴリー
更新記事
- 『日本経済新聞』を読む25(モルドバ、スマートロック、バリ、二重価格、ニッチ)
- 『日本経済新聞』を読む24(FTS、焼酎、化粧水、防災ビジネス、一太郎)
- 『日本経済新聞』を読む23(人工芝、睡眠市場、東海道新幹線、地雷、酸化ガリウム)
- 『日本経済新聞』を読む22(ポータブル電源、ズワイガニ、モルディブ、リチウム、ロブスター)
- 『日本経済新聞』を読む21(高速船、駄菓子、レンタル自習室、PFAS、戻りガツオ)
- 『日本経済新聞』を読む20(書店、コネクテッドカー、アゼルバイジャン、アルメニア、服薬)
- 『日本経済新聞』を読む 19(アボカド、飼料、ビレット、電動キックボード、フレア)
- テーマ株投資(9か月)
- 『日本経済新聞』を読む 18(背徳、デフリ、シアヌークビル港、デジタルノマド、企業博物館)
- 『日本経済新聞』を読む 17(在庫、字幕、梅田、エクセル職人、耐震シェルター)
- 『日本経済新聞』を読む 16(初任給、ウイスキー、スリランカ、クジラ肉、宇宙ごみ)
- 『日本経済新聞』を読む 15(配当貴族、スマートウォッチ、底引き網、ねこ住宅、電池の冷却)
- 『日本経済新聞』を読む 14(サービス収支、つながらない、租税回避地、電池寿命、置き社食)
- 『日本経済新聞』を読む 13(鉄鉱石、内需株、画像診断、ハブ空港、LCC)
- 『日本経済新聞』を読む 12(アンチモニー、おもちゃショー、スタートアップ、燃料電池、送電)
- 『日本経済新聞』を読む 11(にがり、おせち、ダチョウ、災害ドローン、ビジネスホテル)
- 『日本経済新聞』を読む 10(航空エンジン、金型、国際会議、PCE、ゲーム機)
- 『日本経済新聞』を読む 9(家計金融資産、車載半導体、ホタテ、コンテナ、GPU)
- 『日本経済新聞』を読む 8(北陸新幹線、車中泊、ジョブ型、GPIF、メタンハイドレート)
- 『日本経済新聞』を読む 7(紙、ラストワンマイル、リユース市場、カード審査、ボルダリング)
- 『日本経済新聞』を読む 6(iPS細胞、騰落レシオ、短期プラ、REIT、フードテック)
- 『日本経済新聞』を読む 5(ナフサ、ビール、輸入牛肉、悪玉コレステロール、核融合)
- 『日本経済新聞』を読む 4(ダビンチ・サージカル・システム、ゼロエミッション船、クッキー、LBO、洋上風力発電)
- 『日本経済新聞』を読む 3(変動金利、HSP、スリープテック、双腕ロボット、物流パレット)
- 『日本経済新聞』を読む 2(DAC、株主優待、オピオイド、ベトナム車市場、離れ小島)
- 『日本経済新聞』を読む 1(リバースメンタリング、CBT、EBPM、地方創生DAO、IBD)
- テーマ株投資(7か月)
- 『会社四季報 2024年 3集 夏号』を読む 20(RPF、DtoC、ToF、駅ナカ、CX)
- 『会社四季報 2024年 3集 夏号』を読む 19(ATC、プローブカード、ニューデリー、商品CFD、SUV、FPC、IFRS)
- 『会社四季報 2024年 3集 夏号』を読む 18(シャリ玉ロボット、YAGレーザー、シナジー、SaaS、クルーズ、DFBレーザー)
タグ
break (1) class (3) collection (6) continue (1) CSS (2) DOM (2) for (1) function (3) HTML (8) if (2) JavaScript (28) object (5) pop (1) push (1) shift (1) switch (1) unshift (1) VBA (1) while (2) ことば (25) アンガーマネジメント (1) インソース (1) ココナラ (12) コーチング (1) チーズ (2) ネズミ (2) ノート (2) パーソルホールディングス (4) ブランディング (1) ブランド (1) プログリット (1) ポート (1) メモ (2) リスキリング (1) リンクアンドモチベーション (3) 変数 (3) 学習 (1) 小人 (2) 怒り (1) 新聞 (2) 株式 (30) 用語 (16) 睡眠 (3) 給水器 (1) 記憶 (3) Aoba-BBT (12) IGS (12) Kラーニング (1)