首頁 >web前端 >js教程 >JS函數定義方式的差異介紹_基礎知識

JS函數定義方式的差異介紹_基礎知識

WBOY
WBOY原創
2016-05-16 15:08:261329瀏覽

關於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函數定義方式的差別介紹就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn