關於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(){},有函数名 若是以函数表达式定义 var factorial = function(num){ //...code } //...code console.log(anotherFactorial);//输出function(){},匿名函数
以上這篇JS函數定義方式的差別介紹就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。