JavaScript関数
JavaScript関数は、特定のタスクを実行するために設計されたコードのブロックです。
JavaScript関数は、「何か」がそれを呼び出す(呼び出す)ときに実行されます。
例
function myFunction(p1, p2) {
return p1 * p2;
// The function returns the product of p1 and p2
}
JavaScript関数の構文
JavaScript関数は、function
キーワード、名前、括弧()で定義されます。
関数名には、文字、数字、アンダースコア、ドル記号を含めることができます(変数と同じルール)。
括弧には、コンマで区切られたパラメーター名を含めることができます:
(parameter1、parameter2、...)
関数によって実行されるコードは、中括弧内に配置されます:{}
function
name(parameter1, parameter2, parameter3) {
// code to be executed
}
関数パラメーターは、関数定義の括弧()内にリストされています。
関数の引数は、 関数が呼び出されたときに関数が受け取る値です。
関数内では、引数(パラメーター)はローカル変数として動作します。
関数は、他のプログラミング言語のプロシージャまたはサブルーチンとほとんど同じです。
関数の呼び出し
関数内のコードは、「何か」が関数を呼び出す(呼び出す)ときに実行されます。
- イベントが発生したとき(ユーザーがボタンをクリックしたとき)
- JavaScriptコードから呼び出された(呼び出された)とき
- 自動的に(自己呼び出し)
このチュートリアルの後半で、関数の呼び出しについてさらに詳しく学習します。
関数の戻り
JavaScriptがreturn
ステートメントに到達すると、関数は実行を停止します。
関数がステートメントから呼び出された場合、JavaScriptは「戻り」、呼び出しステートメントの後にコードを実行します。
関数は多くの場合、戻り値を計算します。戻り値は「呼び出し元」に「返されます」。
例
2つの数値の積を計算し、結果を返します。
let x = myFunction(4, 3); // Function is called, return value will end up in x
function myFunction(a, b) {
return a * b;
// Function returns the product of a and b
}
xの結果は次のようになります。
12
なぜ機能するのですか?
コードを再利用できます。コードを一度定義すると、何度も使用できます。
同じコードを異なる引数で何度も使用して、異なる結果を生成できます。
例
華氏を摂氏に変換します。
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;
変数値として使用される関数
関数は、すべてのタイプの数式、割り当て、および計算で、変数を使用するのと同じ方法で使用できます。
例
関数の戻り値を格納するために変数を使用する代わりに、次のようにします。
let x = toCelsius(77);
let text = "The temperature is " + x + " Celsius";
関数は、変数値として直接使用できます。
let text = "The temperature is " + toCelsius(77) + " Celsius";
このチュートリアルの後半で、関数についてさらに詳しく学習します。
ローカル変数
JavaScript関数内で宣言された変数は、関数に対して LOCALになります。
ローカル変数には、関数内からのみアクセスできます。
例
// code here can NOT use carName
function myFunction() {
let carName = "Volvo";
// code here CAN use carName
}
// code here can NOT use carName
ローカル変数は関数内でのみ認識されるため、同じ名前の変数を異なる関数で使用できます。
ローカル変数は、関数の開始時に作成され、関数の完了時に削除されます。