JavaScriptの関数
JavaScript 関数は、特定のタスクを実行するコードブロックとして設計されています。
JavaScript 関数は、何かのコードがそれを呼び出したときに実行されます。
JavaScript 関数の構文
JavaScript 関数は、 function
キーワードで定義され、その後関数名および括弧 ()。
関数名は、アルファベット、数字、アンダースコア、およびドル記号(変数名のルールと同じ)を含むことができます。
丸括号は、カンマで区切られた引数を含むことができます:
(引数 1, 引数 2, ...)
関数が実行するコードは花括号内に配置されます:{}
function name(引数 1, 引数 2, 引数 3) { 実行するコード }
関数引数(Function parameters)関数定義に記載されている名前です。
関数引数(Function arguments)関数を呼び出したときに関数が受け取る実際の値。
関数内では、引数はローカル変数です。
他のプログラミング言語では、関数はプログラム(手順)またはサブプログラム(サブルーチン)に近いです。
関数呼び出し
関数内のコードは、他のコードがその関数を呼び出したときに実行されます:
- イベントが発生したとき(ユーザーがボタンをクリックしたとき)
- JavaScriptコードが呼び出された場合
- 自動的(自呼び出し)
このチュートリアルでは、関数呼び出しに関するより多くの知識を学びます。
関数が戻ります
JavaScriptが return
文に到達すると、関数は実行を停止します。
関数が特定の文で呼び出された場合、JavaScriptはその文の後に実行コードを「戻ります」。
関数は通常、戻り値。この戻り値は呼び出し元に返されます:
例
二つの数の積を計算し、結果を返します:
var x = myFunction(7, 8); // 関数を呼び出し、戻り値がxに割り当てられます function myFunction(a, b) { return a * b; // 関数はaとbの積を返します }
xの結果は以下の通りです:
56
関数を使う理由は何ですか?
コードの再利用ができます:一度コードを定義すれば、複数回使用できます。
異なるパラメータを複数回同じ関数に渡すことで、異なる結果を生成できます。
例
華氏度を摂氏度に変換します:
function toCelsius(fahrenheit) { return (5/9) * (fahrenheit-32); } document.getElementById("demo").innerHTML = toCelsius(77);
()演算子で関数を呼び出します
上記の例を使用して、toCelsius
参照しているのは関数オブジェクトであり、 toCelsius()
参照しているのは関数結果です。
例
()がない関数にアクセスすると、関数定義が返されます:
function toCelsius(fahrenheit) { return (5/9) * (fahrenheit-32); } document.getElementById("demo").innerHTML = toCelsius;
変数値として使用される関数
関数の使用方法は変数と同じで、すべての種類の公式、割り当て、計算で使用されます。
例
関数の値を保存するために変数を使用します:
var x = toCelsius(77); var text = "The temperature is " + x + " Celsius";
関数を変数値として直接使用できます:
var text = "The temperature is " + toCelsius(77) + " Celsius";
このチュートリアルでは、関数に関するより多くの知識を学びます。
局部的変数
JavaScript関数内で宣言された変数は、関数の局部的変数。
局部的変数は関数内でのみアクセスできます。
例
// この場所のコードでは carName を使用できません function myFunction() { var carName = "Volvo"; // この場所のコードでは carName を使用できます } // この場所のコードでは carName を使用できません
ローカル変数は関数だけで認識されるため、異なる関数で同じ名前の変数を使用できます。
ローカル変数は関数の開始時に作成され、関数が完了すると削除されます。
参考書
さらに詳しい情報については JavaScriptの関数の知識について、JavaScript 高級チュートリアルの関連内容を読んでください:
- ECMAScript 関数概要
- このセクションでは、関数の概念を説明し、ECMAScript が関数を宣言し、呼び出し、値を返す方法を説明します。
- ECMAScript arguments オブジェクト
- このセクションでは、このオブジェクトの基本的な使用法を説明し、length 属性を使用して関数の引数の数を測定する方法と、関数のオーバーロードをシミュレートする方法を説明します。
- ECMAScript Function オブジェクト(クラス)
- このセクションでは、Function クラスを使用して関数を作成する方法を説明し、Function オブジェクトの属性とメソッドを紹介します。
- ECMAScript 閉包(クロージャ)
- このセクションでは、閉包(クロージャ)の概念を説明し、シンプルな例と少し複雑な例の両方を展示します。