JSチュートリアル

JSホーム JSの紹介 JSどこへ JS出力 JSステートメント JS構文 JSコメント JS変数 JS Let JSConst JSオペレーター JS算術 JS割り当て JSデータ型 JS関数 JSオブジェクト JSイベント JS文字列 JS文字列メソッド JS文字列検索 JS文字列テンプレート JS番号 JS番号メソッド JSアレイ JS配列メソッド JS配列ソート JSアレイの反復 JSアレイ定数 JSの日付 JSの日付形式 JS DateGetメソッド JS日付設定メソッド JS数学 JSランダム JSブール値 JSの比較 JS条件 JSスイッチ JSループFor JSループフォーイン JSループの JSループWhile JSブレイク JSIterables JSセット JSマップ JS Typeof JS型変換 JSビット単位 JS RegExp JSエラー JSスコープ JSホイスト JS厳密モード JSこのキーワード JSアロー関数 JSクラス JS JSON JSデバッグ JSスタイルガイド JSのベストプラクティス JSの間違い JSパフォーマンス JS予約語

JSバージョン

JSバージョン JS 2009(ES5) JS 2015(ES6) JS 2016 JS 2017 JS 2018 JS IE /エッジ JSの歴史

JSオブジェクト

オブジェクト定義 オブジェクトのプロパティ オブジェクトメソッド オブジェクト表示 オブジェクトアクセサー オブジェクトコンストラクター オブジェクトのプロトタイプ オブジェクト反復可能 オブジェクトセット オブジェクトマップ オブジェクトリファレンス

JS関数

関数の定義 関数パラメーター 関数の呼び出し 関数呼び出し 機能適用 関数クロージャ

JSクラス

クラスイントロ クラス継承 クラス静的

JSAsync

JSコールバック JS非同期 JSの約束 JS Async / Await

JS HTML DOM

DOMイントロ DOMメソッド DOMドキュメント DOM要素 DOM HTML DOMフォーム DOM CSS DOMアニメーション DOMイベント DOMイベントリスナー DOMナビゲーション DOMノード DOMコレクション DOMノードリスト

JSブラウザBOM

JSウィンドウ JS画面 JSロケーション JSの歴史 JSナビゲーター JSポップアップアラート JSタイミング JSクッキー

JS Web API

WebAPIイントロ WebフォームAPI Web履歴API WebストレージAPI WebワーカーAPI Web Fetch API Web Geolocation API

JS AJAX

AJAXイントロ AJAX XMLHttp AJAXリクエスト AJAX応答 AJAXXMLファイル AJAX PHP AJAX ASP AJAXデータベース AJAXアプリケーション AJAXの例

JS JSON

JSONイントロ JSON構文 JSONとXML JSONデータ型 JSON解析 JSON文字列化 JSONオブジェクト JSON配列 JSONサーバー JSON PHP JSON HTML JSON JSONP

JSとjQuery

jQueryセレクター jQuery HTML jQuery CSS jQuery DOM

JSグラフィックス

JSグラフィックス JSキャンバス JSPlotly JS Chart.js JSグーグルチャート JS D3.js

JSの例

JSの例 JS HTML DOM JSHTML入力 JSHTMLオブジェクト JSHTMLイベント JSブラウザ JSエディター JS演習 JSクイズ JS証明書

JSリファレンス

JavaScriptオブジェクト HTMLDOMオブジェクト


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

ローカル変数は関数内でのみ認識されるため、同じ名前の変数を異なる関数で使用できます。

ローカル変数は、関数の開始時に作成され、関数の完了時に削除されます。


エクササイズで自分をテストする

エクササイズ:

。という名前の関数を実行しますmyFunction

function myFunction() {
  alert("Hello World!");
}
;