首頁 > web前端 > js教程 > 淺談JS函數定義方式的區別

淺談JS函數定義方式的區別

高洛峰
發布: 2016-12-08 13:53:46
原創
1215 人瀏覽過

關於JS的函數定義方式有以下兩種:

(1)典型的函數宣告

function slide(arguments){
//...code
}
登入後複製

   

(2)以函數表達式的形式定義函數

方式邏輯上是等價的,但是還是有點小區別:

區別一:例一中的函數會在程式碼執行以前被載入到作用域中,而例二則是在程式碼執行到那一行的時候才會有定義;

差異二:函數宣告會為函數指定一個名字,而函數表達式是建立一個匿名函數,然後將這個匿名函數賦給一個變數;

看下面範例:

var slide = function(arguments){
//...code
}
登入後複製

   

若是以函數表達式定義

function factorial(num){
if(num<=1){
return 1;
}
else {
return num*arguments.callee(num-1);
}
}
var anotherFactorial = factorial;
factorial = null;
console.log(anotherFactorial);//输出factorial(){},有函数名
登入後複製
   

相關標籤:
js
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板