新聞中心
本文向大家描述一下JS兩種定義Function非常常用的方法,雖然兩個(gè)種方式定義出來的function調(diào)用的時(shí)候結(jié)果一樣,但是中間還是有區(qū)別的,相信本文介紹一定會讓你有所收獲。

站在用戶的角度思考問題,與客戶深入溝通,找到桐梓網(wǎng)站設(shè)計(jì)與桐梓網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋桐梓地區(qū)。
JS兩種定義Function非常常用的方法
大家都知道Javascript有兩個(gè)種定義Function的方法非常常用。
例如
- functiona(){alert("a")}
- vara=function(){alert("a")}
雖然兩個(gè)種方式定義出來的function調(diào)用的時(shí)候結(jié)果一樣,但是中間還是有區(qū)別的。舉個(gè)簡單的例子,假如我們要重定義a(),而且新的方法要繼承a()里面所有方法并且進(jìn)行其他擴(kuò)展的話。就可以明顯看到這兩個(gè)方式的區(qū)別了。
1.首先,我們先建立一個(gè)臨時(shí)的變量來存儲a()
- varb=a;
然后,重新定義a()
***種方式:
- functiona(){
- b();
- alert("ok");
- }
第二種方式:
- a=function(){
- b();
- alert("ok");
- }
這是大家可以嘗試發(fā)現(xiàn)。***種方式重新定義的a()會出現(xiàn)堆棧溢出的錯(cuò)誤。而第二種方式卻成功保留了原來a()所執(zhí)行的腳本,成功alert出了"a""ok"的字樣,說明a()的方法被重定義了。
這里就可以很明顯區(qū)分兩個(gè)方式的區(qū)別了。定義的順序不同。
***種,剛開始其實(shí)沒有重新定義a這個(gè)function而在里面執(zhí)行了其本身。
第二種方式,a=function()這里沒有執(zhí)行到function里面的代碼a已經(jīng)被重新定義了。所以這里的重定義是有效的。
網(wǎng)站名稱:解析JS中定義Function的兩種實(shí)用方法
網(wǎng)站地址:http://m.5511xx.com/article/cdcoeed.html


咨詢
建站咨詢
