ホームページ  >  記事  >  ウェブフロントエンド  >  JS 関数の定義方法の違いについての簡単な説明

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

高洛峰
高洛峰オリジナル
2016-12-08 13:53:461207ブラウズ

JSで関数を定義するには2つの方法があります:

(1) 一般的な関数宣言

function slide(arguments){
//...code
}

(2) 関数式の形式で関数を定義する

var slide = function(arguments){
//...code
}

上記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){
//...code
}
//...code
console.log(anotherFactorial);//输出function(){},匿名函数

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。