function

functionキーワードは、関数式を定義します。

文法

function [name]([param1[, param2[, ..., paramN]]]) { statements }
引数 説明
name 関数名を指定します。 匿名関数であれば、これを省略することが出来ます。 この名前が、唯一関数本体を示すローカル(変数?)になります。(翻訳に自信なし)
paramN 関数へ渡される引数の名前を指定します。 関数は最大255の引数を持つことが出来ます。
statements 関数の本文を構成するものです。

関数式は、関数(function)文と非常に似ていて文法もほぼ同じです。(詳細は、関数文(function)を参照) 関数式と関数文の主な違いは関数名で、匿名関数を作成するために関数式では名前を省略することが出来ます。 詳細を知るために、関数と関数のスコープも参照してください。

下記の例は、名前の無い関数を定義し、それをxに割り当てています。 この関数は、引数の2乗を返します。

var x = function(y) {
   return y * y;
};

名前付きの関数式

もし現在の関数内部で関数本体を参照したい場合は、名前付きの関数式を作成する必要があります。 この名前は、関数本体への唯一のローカル変数になります。 これを使用することで、非標準のarguments.callee プロパティの使用を避けることも出来ます。

var math = {
  'factorial': function factorial(n) {
    if (n <= 1)
      return 1;
    return n * factorial(n - 1);
  }
};

仕様

ブラウザ互換性

デスクトップ
機能 Chrome Firefox
(Gecko)
IE Opera Safari
基本
モバイル
機能 Android Chrome for
Android
Firefox
Mobile
IE
Mobile
Opera
Mobile
Safari
Mobile
基本

関連項目

 Back to top

© 2017 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.

このページは、ページトップのURL先のMozilla Developer Network(以下、MDN)のコンテンツを翻訳した内容を基に構成されています。 構成について異なる点も含まれますので、下記の項目を確認し、必要に応じて元のコンテンツをご確認ください。 もし、誤訳などの間違いを見つけましたら、 @tomofまで教えていただければ幸いです。

  • 特定のブラウザに特化しすぎている情報やあまりにも古い情報、 または試験的に導入されているようなAPIや機能については、省略していることがあります。
  • 例やデモについて、実際にページ内で動作させる関係で一部ソースコードを変更している場合や、 その例で使用しているコンテンツの単語や文章などを日本人向けに変更しいてる場合があります。
  • MDNの更新頻度が高いため、元のコンテンツと比べ情報が古くなっている可能性があります。
  • "訳注:"などの断わりを入れた上で、日本人向けの情報の追記を行っている事があります。