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

高洛峰
リリース: 2016-12-08 13:53:46
オリジナル
1208 人が閲覧しました

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(){},匿名函数
ログイン後にコピー

関連ラベル:
js
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート