最新のWeb開発のチュートリアル
×

JS チュートリアル

JS HOME JS 導入 JS どこへ JS 輸出 JS 構文 JS ステートメント JS 注釈 JS 変数 JS 演算子 JS 算術 JS 割り当て JS データの種類 JS 機能 JS オブジェクト JS 範囲 JS イベント JS ストリング JS 文字列メソッド JS 数字 JS 数のメソッド JS 数学 JS 日付 JS 日付形式 JS 日付の方法 JS 配列 JS アレイ方式 JS ブール値 JS 比較 JS 条件 JS スイッチ JS ループ For JS ループしながら JS ブレーク JS 型変換 JS 正規表現 JS エラー JS デバッギング JS 巻き上げ JS strictモード JS スタイルガイド JS ベストプラクティス JS 間違い JS パフォーマンス JS 予約語 JS JSON

JS フォーム

フォームバリデーション フォームAPI

JS オブジェクト

オブジェクト定義 オブジェクトのプロパティ オブジェクトメソッド オブジェクトプロトタイプ

JS 機能

関数定義 ファンクションのパラメータ 関数の呼び出し 関数クロージャ

JS HTML DOM

DOM イントロ DOM メソッド DOM 資料 DOM 要素 DOM HTML DOM CSS DOM アニメーション DOM イベント DOM EventListener DOM ナビゲーション DOM ノード DOM ノードリスト

JS ブラウザ BOM

JS Window JS Screen JS Location JS History JS Navigator JS Popup Alert JS Timing JS Cookies

JS

JS 例 JS HTML DOM JS HTML 入力 JS HTML オブジェクト JS HTML イベント JS ブラウザ JS クイズ JS 概要

JS リファレンスマニュアル

JavaScript オブジェクト HTML DOM オブジェクト


 

JavaScript関数定義


JavaScript関数を使用して定義されているfunctionのキーワード。

あなたは、関数宣言や関数式を使用することができます


関数の宣言

以前、このチュートリアルでは、関数は次の構文で宣言されていることを学びました。

function functionName ( parameters ) {
  code to be executed
}

宣言された関数はすぐに実行されません。 これらは、「後で使用するために保存」され、それらが呼び出されたとき(召集)、後に実行されます。

function myFunction(a, b) {
    return a * b;
}
»それを自分で試してみてください

セミコロンは、実行可能なJavaScriptステートメントを分離するために使用されます。
関数の宣言は、実行可能ステートメントではありませんので、セミコロンで終了するのが一般的ではありません。


関数式

JavaScript関数は、また、 式を使用して定義することができます。

関数式は、変数に格納することができます。

var x = function (a, b) {return a * b};
»それを自分で試してみてください

関数式は、変数に格納された後、変数が関数として使用することができます。

var x = function (a, b) {return a * b};
var z = x(4, 3);
»それを自分で試してみてください

上記の機能は、実際には匿名関数 (名前のない関数)です。

変数に格納された関数は、関数名を必要としません。 彼らは常に変数名を使用して(と呼ばれる)が呼び出されています。

それは実行可能文の一部であるため、上記の機能は、セミコロンで終了します。


Function()コンストラクタ

前の例で見てきたように、JavaScript関数を使用して定義されているfunctionのキーワード。

関数も呼ばれる組み込みのJavaScript関数コンストラクタで定義することができるFunction()

var myFunction = new Function("a", "b", "return a * b");

var x = myFunction(4, 3);
»それを自分で試してみてください

あなたは実際には関数コンストラクタを使用する必要はありません。 上記の例では、書き込みと同じです。

var myFunction = function (a, b) {return a * b};

var x = myFunction(4, 3);
»それを自分で試してみてください

時間のほとんどは、あなたが使用して回避することができnew JavaScriptでキーワードを。


Function Hoisting

以前、このチュートリアルでは、あなたが学びました"hoisting"

巻上げは、現在のスコープの先頭に宣言を移動するのはJavaScriptのデフォルトの動作です。

巻上げは、変数の宣言に、関数の宣言に適用されます。

宣言されている前に、このため、JavaScript関数を呼び出すことができます。

myFunction(5);

function myFunction(y) {
    return y * y;
}

式を使用して定義された関数が掲揚されていません。


自己呼び出し機能

関数式は「自己起動」させることができます。

自己起動式が呼び出されることなく、自動的に(開始)が呼び出されます。

式が続いている場合、関数式は自動的に実行されます()

あなたは、関数の宣言を自己起動することはできません。

あなたはそれが関数式であることを示すために、関数の周りに括弧を追加する必要があります。

(function () {
    var x = "Hello!!";      // I will invoke myself
})();
»それを自分で試してみてください

上記の機能は、実際には匿名の自己呼び出す関数 (名前のない関数)です。


関数は値として使用することができ

JavaScriptの関数は、値として使用することができます。

function myFunction(a, b) {
    return a * b;
}

var x = myFunction(4, 3);
»それを自分で試してみてください

JavaScriptの関数が使用可能です。

function myFunction(a, b) {
    return a * b;
}

var x = myFunction(4, 3) * 2;
»それを自分で試してみてください

関数はオブジェクトです

typeof JavaScriptで演算子を返し"function"の機能のために。

しかし、JavaScript関数は、最良のオブジェクトとして記述することができます。

JavaScriptの関数は、 プロパティメソッドの両方を持っています。

関数が呼び出されたときのarguments.lengthプロパティは、受け取った引数の数を返します。

function myFunction(a, b) {
    return arguments.length;
}
»それを自分で試してみてください

toString()メソッドは、文字列としての機能を返します。

function myFunction(a, b) {
    return a * b;
}

var txt = myFunction.toString();
»それを自分で試してみてください

オブジェクトのプロパティとして定義された関数は、オブジェクトのメソッドと呼ばれています。
新しいオブジェクトを作成するために設計された機能は、オブジェクトコンストラクタと呼ばれています。