カテゴリー内の他の記事

はじめようJavaScript第10回 JavaScriptの基本機能 関数を作る その2

フォローする


(著者:kintone エバンジェリスト 村濱 一樹

前回はユーザー関数を作ってみました。今回はfor文とif文を組み合わせて、さらに便利な関数を作っていきたいとおもいます。
関数を使いこなせるようになればなんども同じことを書く必要がなくなるので便利です。前回の記事に関数とはなにか、ということを書いていますので、必要な方は復習してから今回の章を試してみてください。

ぜひ、以下のリンク先で実際に入力しながら試してみてください。
https://jsfiddle.net/nvyrx5ht/1/

※記述ミスなどでうまく動作しないときのために、下の方にサンプル実行環境も用意していますので必要に応じてご利用ください。

if分の関数化 - BMI計算を関数化

第5回の記事で、if文の学習のためにBMI計算を例にあげました。 サンプルの下記コードを関数化してみましょう。

https://jsfiddle.net/f7faykvn/4/

関数のキモは、「何を入力して」「何を出力する(もしくはどういう処理をする)」かということに尽きます。
第5回のコードでは、if文内でconsole.log()を使っていましたが、関数はreturnで結果を返させたほうがすっきり書ける事が多いです。なるべく「何を入力して」「何を出力するか」ということを意識しながら関数を定義しましょう。

  • 入力: 身長(数値), 体重(数値)
  • 出力: 体型診断(文字列)

サンプル実行環境:https://jsfiddle.net/f7faykvn/8/

for文の関数化 - 全ての数値に消費税をかける関数

前回の記事でも消費税計算の関数は書きましたが、for文を駆使していっぺんにデータを処理する関数を定義しましょう。
たくさんの値を処理するには、配列を使うのが適していますので、入力・出力ともに配列を活用します。

  • 入力: 消費税が可算されてない金額(配列)
  • 出力: 消費税が可算された金額(配列)

サンプル実行環境:https://jsfiddle.net/f7faykvn/9/

if文とfor文の関数化組み合わせ - 関数の中から別の関数を呼び出す

関数の中から関数を呼び出すことも可能です。先に上げたBMI判定関数を、消費税を計算する関数と同様、配列で処理できるようにしてみます。

  • 入力: 身長と体重(配列)
  • 出力: 判定結果(配列)

  サンプル実行環境:https://jsfiddle.net/f7faykvn/10/

関数の定義方法は2つある

関数の定義方法は大きく分けると2つあります。利用はどちらでも好みで大丈夫ですが、両方ともWebの記事などでみかけることになると思うので説明しておきます。

  • 定義方法1[関数宣言]

  • 定義方法2[変数代入]

どちらも name() で呼び出せますが、若干違いがあります。定義方法1では、関数の定義前でも後でも関数を呼びだすことができます。

それと比べて、定義方法2では、関数を変数に代入しているため、関数呼び出しはそのあとでなければできません。

どちらがよいか、ということですが究極的には好みではありますが、なれないうちは定義方法1から覚えたほうがいいとおもいます。
少々難易度が高くなってきましたが、一度定義することができれば、なんどでも使えるという利点は大きいです。

<< はじめようJavaScript第9回 JavaScriptの基本機能 関数を使う その1  | はじめようJavaScript第11回 kintone JavaScriptカスタマイズをする >>

記事に関するフィードバック

直接的に記事と関連がないご質問はcybozu developer コミュニティをご活用ください。

ログインしてコメントを残してください。