English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JS関数の定義方法の違いについて簡単に説明

JSの関数定義方法は以下の2種類があります:

(1)典型的な関数宣言

function slide(arguments){
//...コード
}

(2)関数表現で関数を定義

var slide = function(arguments){
//...コード
}

上記の2つの方法は論理的には同じですが、少し異なる点があります:

違い第1:例1の関数はコードの実行前にスコープにロードされますが、例2はその行が実行されるまで定義されません;

違い第2:関数宣言は関数に名前を指定し、関数表現は匿名関数を生成し、その匿名関数を変数に割り当てます;

以下の例を見てください:

function factorial(num){
if(num<=1){
return 1;
}
else {
return num*arguments.callee(num-1);
}
}
var anotherFactorial = factorial;
factorial = null;
console.log(anotherFactorial);//factorial(){}、関数名を出力

関数表現で定義する場合

var factorial = function(num){
//...コード
}
//...コード
console.log(anotherFactorial);//function(){}、アノニマス関数を出力

これで、編集者が皆さんに提供したJS関数定義方法の違いについての簡単な説明はすべて終わりました。皆さん、呐喊教程をたくさん応援してください~

おすすめ