DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript基礎知識 >> JS函數定義方式的區別介紹
JS函數定義方式的區別介紹
編輯:JavaScript基礎知識     

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

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved