函數(shù)創(chuàng)建方式
創(chuàng)新互聯(lián)長期為數(shù)千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為薌城企業(yè)提供專業(yè)的成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè),薌城網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。1.聲明方式例如:function consoleTip (){ console.log("tip!"); }
2.表達(dá)式方式例如:var consoleTip = function(){ console.log("tip!"); }
兩種方式的區(qū)別:
1.表達(dá)式方式適合用來定義只使用一次的函數(shù),聲明方式定義的函數(shù)沒有這個(gè)限制,當(dāng)然也不是絕對的,這個(gè)區(qū)別只適用于編碼規(guī)范上;
2.聲明方式定義的函數(shù)可以在函數(shù)調(diào)用之前定義也可以在函數(shù)調(diào)用之后定義,而表達(dá)式方式定義的函數(shù)只能在函數(shù)調(diào)用之前定義;
函數(shù)參數(shù)
函數(shù)參數(shù)包括形參,實(shí)參,形參就是函數(shù)定義時(shí)的參數(shù);實(shí)參就是函數(shù)調(diào)用時(shí)傳入的參數(shù)。由于js是弱類型語言,所以js函數(shù)的形參不指定類型。
js函數(shù)的形參和實(shí)參個(gè)數(shù)可以不一致。形參個(gè)數(shù)小于實(shí)參時(shí),未傳的形參值都是undefined,注意形參可以指定默認(rèn)值,但是只能在函數(shù)體內(nèi)部指定;形參個(gè)數(shù)小于實(shí)參時(shí),在函數(shù)體內(nèi)引用多余實(shí)參,必須通過實(shí)參對象arguments來獲取實(shí)參,在函數(shù)體內(nèi)部arguments就是實(shí)參對象的引用,并且此時(shí)的實(shí)參對象是一個(gè)數(shù)組對象,數(shù)組對象每一項(xiàng)對應(yīng)著函數(shù)調(diào)用時(shí)傳入的參數(shù)。
PS:實(shí)參對象有兩個(gè)特殊屬性callee和caller,其中callee屬性代指當(dāng)前正在執(zhí)行的函數(shù),caller屬性代指調(diào)用當(dāng)前正在執(zhí)行的函數(shù)的函數(shù),caller屬性不是標(biāo)準(zhǔn)屬性,不是所有瀏覽器都支持。使用callee屬性的典型例子就是匿名函數(shù)的遞歸調(diào)用,例如定義一個(gè)階乘函數(shù):
var fact = function(x){ if(x <= 1) { return 1; }else{ return arguments.callee(x-1)*x; } };
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。