在編寫代碼時(shí),可能會(huì)出現(xiàn)非常多的相同代碼,或者功能類似的代碼,這些代碼可能需要大量重復(fù)使用。雖然for循環(huán)語(yǔ)句也能實(shí)現(xiàn)一些簡(jiǎn)單的重復(fù)操作,但是比較有局限性,此時(shí)我們就可以使用JavaScript中的函數(shù)。
例如,下面兩段代碼完成了兩個(gè)功能,這兩個(gè)功能的代碼非常相似。
//功能1:求1~100的累加和var?sum?=?0;for?(var?i?=?1;?i?<=?100;?i++)?{????sum?te?j;}console.log(sum);
//功能2:求10~50的累加和var?sun?=?0;for?(var?I?=?10;?i?<=?50;?i++)?{????sum?f?=?i;}console.log(sum);
上述代碼的共同點(diǎn)在于,i的初始值和結(jié)束值不同,其他代碼是相同的。此時(shí)利用函數(shù)可以把這種相似的代碼封裝起來(lái),實(shí)現(xiàn)代碼的重復(fù)使用。
為了讓讀者體會(huì)到函數(shù)的優(yōu)勢(shì),下面我們來(lái)演示如何利用函數(shù)來(lái)封裝代碼,解決代碼重復(fù)的問(wèn)題。關(guān)于函數(shù)的具體語(yǔ)法規(guī)則,會(huì)在后面進(jìn)行詳細(xì)講解。
//聲明一個(gè)getSum函數(shù),將代碼寫在大括號(hào)"{}”中function?getSum(numl,?num2)?{????var?sum?=?0;????for?(var?i?=?numl;?i?<=?num2;?i++)?{????????sum?+=?i;????}????console.log(sum);?//函數(shù)執(zhí)行結(jié)束后,將結(jié)果輸出}//調(diào)用getsum函數(shù),在調(diào)用時(shí)需要寫上小括號(hào),并在小括號(hào)里傳人參數(shù)getSum(1,?100);?//?輸出結(jié)果:5050getSum(10,?50);?//?輸出結(jié)果?:1230
從上述代碼可以看出,利用函數(shù),原本重復(fù)的代碼現(xiàn)在只需要編寫一次,然后就可以重復(fù)調(diào)用。在調(diào)用函數(shù)時(shí),小括號(hào)中傳人了兩個(gè)參數(shù),第1次調(diào)用傳入的兩個(gè)參數(shù)分別為1和00,第2次調(diào)用傳人的兩個(gè)參數(shù)分別為 10和50。只需傳入不同的參數(shù),即可對(duì)參數(shù)按照相司的方式進(jìn)行處理,最終得到不同的執(zhí)行結(jié)果。
Copyright ? 2013-2021 河南云和數(shù)據(jù)信息技術(shù)有限公司 豫ICP備14003305號(hào) ISP經(jīng)營(yíng)許可證:豫B-20160281