📖
training
  • index
  • CSS
  • JavaScript
    • DOM イベント
    • document.write
    • window.alert
    • console.log
    • ステートメント
    • データ型
    • for
    • オブジェクト
    • リテラル
    • 変数
    • 宣言
    • スコープ
    • 型変換
    • 配列
    • Strictモード
    • 演算子
    • if
    • switch
    • 繰り返し
    • for
    • for...in
    • for...of
    • for await...of
    • while
    • do...while
    • 関数
    • Element インターフェイス
    • Documentインターフェイス
GitBook提供
このページ内
  • 関数名について
  • 無名関数
  • 即時関数
  • 関数オブジェクト
  • this

役に立ちましたか?

  1. JavaScript

関数

処理をまとめて定義する仕組みが、関数(メソッド)と呼ばれる機能と なります。

関数は、以下のように定義を行います。

function 関数名([引数,...]) { 処理; [return 戻り値;] }

戻り値のない関数を定義する場合は、return文を省略することができます 戻り値のデータ型は、戻される値のデータ型によって動的に確定します

関数名について

関数名を付与する時に、注意してもらいたいことがあります。 removeなど、一般的に存在する単語を関数名とすると、 単語によっては、ブラウザによって動作したり、しなかったりする ことがあります。 特にエラーが発生するわけではなく、定義した関数が呼び出されずに、 何も発生しないだけのため事象の把握が困難です。 関数名を付与する時は、この点に注意してください。

無名関数

関数の定義方法の一つに、無名関数と呼ばれるものがあります。 「無名」という呼び名の通り、関数名が省略された定義方法です。

function ([引数,...]) { 処理; }

即時関数

無名関数と同じような定義方法に即時関数と呼ばれるものがあります。 "即時"という呼び名の通り、関数の定義と実行を同時に行う定義方法 です。

(function ([定義の時の引数,...]) { 処理; })([実行の時の引数,...])

関数オブジェクト

JavaScriptでは、関数もオブジェクトとして扱われています。 そのため、関数名だけを指定して変数に代入した場合は、関数の実行は 行われず、オブジェクトとして代入されます。 関数は、関数名の後ろに([引数,...])が記述されたときに、初めて実行 されます。

JavaScriptでは、関数もオブジェクトとして扱われていますので、 returnで関数を戻すことができます。

呼び出し元でfunc1();と実行するだけでは、func1関数が実行されるだけですので、 return文で戻される無名関数は実行されません 全ての関数を実行する場合は、以下のように記述する必要があります

this

関数の中では、thisキーワードが使用できます。 thisは、 関数が呼ばれた時に、その関数が所属していたオブジェクト となります。

前へdo...while次へElement インターフェイス

最終更新 5 年前

役に立ちましたか?