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

