JavaScript関数は、function
キーワードで定義されます。
関数宣言または関数式を使用できます。
関数宣言
このチュートリアルでは、関数が次の構文で宣言されていることを学びました。
//実行されるコード
}
宣言された関数はすぐには実行されません。, それらは”後で使用するために保存”され、呼び出されたとき(呼び出されたとき)に後で実行されます。
例
return a*b;
}
自分で試してみてください”
セミコロンは、実行可能なJavaScriptステートメントを分離するために使用されます。
関数宣言は実行可能ステートメントではないため、セミコロンで終わらせることは一般的ではありません。
関数式
JavaScript関数は式を使用して定義することもできます。,
関数式は変数に格納できます。
Example
自分で試してみてください”
関数式が変数に格納された後、変数は関数として使用できます。
Example
自分で試してみてください”
上記の関数は実際には無名関数(名前のない関数)です。
変数に格納されている関数は関数名を必要としません。 常に変数名を使用して呼び出されます(呼び出されます)。,
上記の関数は実行可能ステートメントの一部であるため、セミコロンで終わります。
Function()コンストラクタ
前の例で見たように、JavaScript関数はfunction
キーワードで定義されています。
関数は、Function()
と呼ばれる組み込みのJavaScript関数コンストラクタで定義することもできます。,
例
var x=myFunction(4,3);
自分で試してみてください”
実際には関数コンストラクタを使用する必要はありません。 上記の例は書くことと同じです:
Example
var x=myFunction(4,3);
自分で試してみてください”
ほとんどの場合、JavaScriptでnew
キーワードを使用することは避けることができます。,
関数Hoisting
このチュートリアルの前で、”hoisting”(JavaScript Hoisting)について学びました。
巻き上げは、宣言を現在のスコープの先頭に移動するJavaScriptのデフォルトの動作です。
巻き上げは、変数宣言および関数宣言に適用されます。
このため、JavaScript関数は宣言される前に呼び出すことができます。
function myFunction(y){
return y*y;
}
式を使用して定義された関数はホイストされません。,
自己呼び出し関数
関数式は”自己呼び出し”にすることができます。
自己呼び出し式は、呼び出されることなく自動的に呼び出されます(開始されます)。
関数式の後に()が続くと、関数式は自動的に実行されます。
関数宣言を自己呼び出すことはできません。
関数式であることを示すために、関数の周りに括弧を追加する必要があります。
Example
var x=”こんにちは!!,”;//私は自分自身を呼び出します
})();
自分で試してみてください”
上記の関数は実際には匿名の自己呼び出し関数(名前のない関数)です。,
関数は値として使用できます
JavaScript関数は値として使用できます。
Example
return a*b;
}
var x=myFunction(4,3);
自分で試してみてください”
JavaScript関数は式で使用できます。
Example
Return a*b;
}
var x=myfunction(4, 3) * 2;
自分で試してみてください”
関数はオブジェクトです
JavaScriptのtypeof
演算子は関数に対して”function”を返します。,
しかし、JavaScript関数はオブジェクトとして記述するのが最善です。
JavaScript関数には、プロパティとメソッドの両方があります。
arguments.length
プロパティは、関数が呼び出されたときに受け取った引数の数を返します。
Example
引数を返します。長さ;
}
自分で試してみてください”
toString()
メソッドは、関数を文字列として返します。
例
return a*b;
}
var txt=myFunction。,toString();
それを自分で試してみてください”
オブジェクトのプロパティとして定義された関数は、オブジェクトへのメソッドと呼ばれます。
機能設計の新しいオブジェクトを作成し、と呼ばれるオブジェクトコンストラクタです。
矢印関数
矢印関数では、関数式を記述するための短い構文を使用できます。
あなたは必要ありませんfunction
キーワード、return
キーワード、および中括弧。,
例
var x=function(x,y){
return x*y;
}
//ES6
const x=(x,y)=>x*y;
自分で試してみてください”
矢印関数には独自のthis
.オブジェクトメソッドの定義には適していません。
矢印関数は吊り上げられません。 それらは、使用する前に定義する必要があります。
const
を使用すると、関数式は常に定数値であるため、var
を使用するよりも安全です。,
return
キーワードと中括弧を省略できるのは、関数が単一のステートメントの場合のみです。 このため、常にそれらを保持するのが良い習慣かもしれません。
Example
自分で試してみてください”
矢印関数はIE11以前ではサポートされていません。