JS函數(shù)定義方式的區(qū)別介紹
關于JS的函數(shù)定義方式有以下兩種:
(1)典型的函數(shù)聲明
function slide(arguments){
//...code
}
(2)以函數(shù)表達式的形式定義函數(shù)
var slide = function(arguments){
//...code
}
雖然上面兩種方式邏輯上是等價的,但是還是有點小區(qū)別:
區(qū)別一:例一中的函數(shù)會在代碼執(zhí)行以前被加載到作用域中,而例二則是在代碼執(zhí)行到那一行的時候才會有定 義;
區(qū)別二:函數(shù)聲明會給函數(shù)指定一個名字,而函數(shù)表達式則是創(chuàng)建一個匿名函數(shù),然后將這個匿名函數(shù)賦給一個變量;
看下面例子:
function factorial(num){
if(num<=1){
return 1;
}
else {
return num*arguments.callee(num-1);
}
}
var anotherFactorial = factorial;
factorial = null;
console.log(anotherFactorial);//輸出factorial(){},有函數(shù)名
若是以函數(shù)表達式定義
var factorial = function(num){
//...code
}
//...code
console.log(anotherFactorial);//輸出function(){},匿名函數(shù)
以上這篇JS函數(shù)定義方式的區(qū)別介紹就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
深入解讀JavaScript中的Iterator和for-of循環(huán)
這篇文章主要介紹了JavaScript中的Iterator和for-of循環(huán),是JS入門學習中的基礎知識,需要的朋友可以參考下2015-07-07
window.location.href的用法(動態(tài)輸出跳轉(zhuǎn))
無論在靜態(tài)頁面還是動態(tài)輸出頁面中window.location.href都是不錯的用了跳轉(zhuǎn)的實現(xiàn)方案2014-08-08
javascript定義變量時加var與不加var的區(qū)別
這篇文章主要介紹了javascript 變量中 var 與不加var的區(qū)別,需要的朋友可以參考下2014-12-12
javascript操作html控件實例(javascript添加html)
幾乎HTML所有標記都可以說是HTML的控件,如select, input, div, table等。html標簽便捷的操作,深受大家的喜歡。如何使用javascript來操作HTML控件,下面我介紹下比較麻煩的幾個控件2013-12-12
JavaScript中使用Math.floor()方法對數(shù)字取整
這篇文章主要介紹了JavaScript中使用Math.floor()方法對數(shù)字取整,是JS入門學習中的基礎知識,需要的朋友可以參考下2015-06-06

