版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目4計(jì)算個(gè)人所得稅——JavaScript函數(shù)
個(gè)人所得稅匯算清繳開始了,老師們都忙著計(jì)算個(gè)人所得稅。為了便于老師們計(jì)算和查詢,王老師打算編寫計(jì)算個(gè)人所得稅的網(wǎng)頁程序,邀請(qǐng)李強(qiáng)參與進(jìn)來。2019年1月1日起,新頒布的《中華人民共和國(guó)個(gè)人所得稅法》開始實(shí)行。個(gè)人所得稅起征點(diǎn)更改為60000元,應(yīng)納稅所得額=個(gè)人收入-納稅起點(diǎn)-社會(huì)保險(xiǎn)-專項(xiàng)附加扣除,而應(yīng)納稅額=應(yīng)納稅所得額×適用稅率-速算扣除數(shù),速算扣除數(shù)是為了方便進(jìn)行計(jì)算而事先計(jì)算好的數(shù)值,具體標(biāo)準(zhǔn)如表4-1所示。情境導(dǎo)入
情境導(dǎo)入表4-1個(gè)人所得稅稅率計(jì)算級(jí)數(shù)應(yīng)納稅所得額稅率/%速算扣除數(shù)/元1不超過36000元的30236000元~144000元的部分1025203144000元~300000元的部分20169204300000元~420000元的部分25319205420000元~660000元的部分30529206660000元~960000元的部分35859207超過960000元的部分45181920
單擊頁面上的“計(jì)算個(gè)人所得稅”按鈕,如圖4-1所示,實(shí)現(xiàn)效果如圖4-2、圖4-3、圖4-4和圖4-5所示。情境導(dǎo)入■掌握函數(shù)的概念及特點(diǎn)■掌握常用的預(yù)定義函數(shù)的使用方法■掌握自定義函數(shù)的創(chuàng)建和調(diào)用方法■掌握函數(shù)的參數(shù)和函數(shù)的返回值在程序中的應(yīng)用方法■掌握函數(shù)的嵌套方法和理解函數(shù)變量的作用域項(xiàng)目目標(biāo)任務(wù)
認(rèn)識(shí)函數(shù)知識(shí)儲(chǔ)備任務(wù)
使用預(yù)定義函數(shù)任務(wù)
使用自定義函數(shù)任務(wù)
運(yùn)用函數(shù)進(jìn)階相關(guān)知識(shí)
認(rèn)識(shí)函數(shù)函數(shù)是指由一行或多行語句組成的,能夠?qū)崿F(xiàn)某一特定功能的語句序列語句序列是一個(gè)整體,也叫函數(shù)體函數(shù)運(yùn)行的結(jié)果有多種形式,例如,可以利用函數(shù)輸出文本,也可以輸出數(shù)值,還可以為主程序返回值函數(shù)的概念函數(shù)有兩大特點(diǎn)一是它的重用性,在程序設(shè)計(jì)中如果要多次實(shí)現(xiàn)某一功能,就可以將實(shí)現(xiàn)該功能的代碼定義為一個(gè)函數(shù),在使用時(shí)可以直接調(diào)用該函數(shù),不必重寫代碼,從而實(shí)現(xiàn)代碼的重用;二是可降低程序的復(fù)雜度,通過函數(shù)可以將較大的程序分解成幾個(gè)較小的程序段,也就是說可以把一個(gè)較復(fù)雜的大任務(wù)分解成幾個(gè)較容易解決的小任務(wù),降低整個(gè)程序的復(fù)雜度。函數(shù)的特點(diǎn)輸出個(gè)人信息——函數(shù)的應(yīng)用【任務(wù)一】在頁面上輸出個(gè)人信息(姓名、學(xué)號(hào)、專業(yè)等信息)任務(wù)描述任務(wù)分析先聲明變量來保存姓名、學(xué)號(hào)、專業(yè)等信息,并對(duì)變量賦值通過document.write()函數(shù)輸出變量的值輸出個(gè)人信息——函數(shù)的應(yīng)用【任務(wù)一】<script>varname="李強(qiáng)";//聲明姓名document.write("我是"+name);//輸出姓名varstuNum="2022031403";//聲明學(xué)號(hào)document.write(",學(xué)號(hào)"+stuNum);//輸出學(xué)號(hào)varmajor="計(jì)算機(jī)應(yīng)用";//聲明專業(yè)document.write(",專業(yè)是"+major);//輸出專業(yè)varhometown="河南商丘";//聲明家鄉(xiāng)document.write(",我來自"+hometown+"。");//家鄉(xiāng)</script>相關(guān)知識(shí)
使用預(yù)定義函數(shù)在JavaScript中,消息對(duì)話框函數(shù)本質(zhì)上是由JavaScript的內(nèi)置對(duì)象的方法實(shí)現(xiàn)的,它能夠?qū)⒊绦驁?zhí)行的結(jié)果在頁面上以對(duì)話框的形式直觀地顯示出來。消息對(duì)話框在JavaScript中應(yīng)用很廣泛,經(jīng)常用來在頁面上輸出結(jié)果、接收通過鍵盤輸入的數(shù)據(jù)、實(shí)現(xiàn)程序與用戶的交互等。
JavaScript程序中常用的消息對(duì)話框有警示對(duì)話框、確認(rèn)對(duì)話框和提示對(duì)話框3種,下面分別講解這3種消息對(duì)話框?qū)?yīng)函數(shù)的語法格式及其在程序中的應(yīng)用。.1消息對(duì)話框函數(shù)使用alert()函數(shù)可以彈出警示對(duì)話框。alert()的功能是直接在頁面上以對(duì)話框的形式輸出字符串或者變量的值。語法格式如下:
alert()函數(shù)除了輸出字符串和變量外,警示對(duì)話框中還有一個(gè)“確定”按鈕,單擊這個(gè)“確定”按鈕會(huì)關(guān)閉警示對(duì)話框。1.警示對(duì)話框函數(shù)alert(顯示內(nèi)容);新學(xué)期寄語——警示對(duì)話框【任務(wù)二】打開頁面顯示一個(gè)歡迎對(duì)話框,對(duì)話框的內(nèi)容為“李強(qiáng),寶劍鋒從磨礪出,梅花復(fù)自苦寒來,新的學(xué)期,加油!”任務(wù)描述任務(wù)分析本任務(wù)實(shí)踐主要目的是利用警示對(duì)話框在頁面上輸出內(nèi)容,可以通過alert()來實(shí)現(xiàn)。為了符合編程的規(guī)范,在編程時(shí)要先聲明一個(gè)變量來保存姓名,對(duì)變量賦值后,通過alert()輸出變量的值。新學(xué)期寄語——警示對(duì)話框【任務(wù)二】alert()警示對(duì)話框除了顯示一些提示信息以外,還經(jīng)常用于程序的調(diào)試,在程序執(zhí)行過程中,檢驗(yàn)程序的中間結(jié)果及程序是否已執(zhí)行等。
使用confirm()函數(shù)可以顯示確認(rèn)對(duì)話框,語法格式如下
確認(rèn)對(duì)話框的功能同警示對(duì)話框功能十分相似,不同之處是,確認(rèn)對(duì)話框有“確定”“取消”兩個(gè)按鈕,并且在單擊“確定”按鈕后會(huì)返回布爾值true,單擊“取消”按鈕將返回布爾值false。2.確認(rèn)對(duì)話框函數(shù)confirm(確認(rèn)內(nèi)容);確定詩句作者——確認(rèn)對(duì)話框【任務(wù)三】在確認(rèn)對(duì)話框中通過分別單擊“確定”和“取消”按鈕來測(cè)試其返回的值,并在頁面輸出效果任務(wù)描述任務(wù)分析聲明兩個(gè)變量,用來保存單擊“確定”或“取消”按鈕后返回的布爾值和最后的結(jié)果條件表達(dá)式可以根據(jù)不同的布爾值獲得不同的結(jié)果,所以可以通過條件表達(dá)式來實(shí)現(xiàn)在確認(rèn)對(duì)話框中單擊“確定”和“取消”按鈕,得到不同的效果確定詩句作者——確認(rèn)對(duì)話框【任務(wù)三】<scripttype="text/javascript">varpoem,result;//聲明變量poem=confirm("山重水復(fù)疑無路,柳暗花明又一村該詩句的作者是陸游嗎?");//確認(rèn)作者result=poem?"是陸游":"是辛棄疾";//計(jì)算結(jié)果document.write("作者"+result);//輸出結(jié)果</script>使用prompt()函數(shù)可以打開提示對(duì)話框,提示對(duì)話框不僅有“確定”“取消”兩個(gè)按鈕,而且提供用戶可以用鍵盤輸入的文本框,這個(gè)文本框可以實(shí)現(xiàn)用戶與系統(tǒng)的交互功能。語法格式如下。
其中,“提示部分”是提示需要輸入的內(nèi)容的語句,“默認(rèn)結(jié)果”部分可以有,也可以沒有。提示對(duì)話框是具有人機(jī)交互功能的消息對(duì)話框。3.提示對(duì)話框函數(shù)prompt(提示部分[,默認(rèn)結(jié)果]);詩詞對(duì)答——提示對(duì)話框【任務(wù)四】根據(jù)提示通過鍵盤輸入詩詞的下一句,然后在頁面上輸出結(jié)果任務(wù)描述任務(wù)分析根據(jù)任務(wù)要求,使用prompt()函數(shù)接收通過鍵盤輸入的內(nèi)容。在編寫代碼時(shí),先聲明一個(gè)變量,將輸入的結(jié)果保存到變量中,然后通過警示對(duì)話框在頁面上輸出結(jié)果。詩詞對(duì)答——提示對(duì)話框【任務(wù)四】<scripttype="text/javascript">varresult;varpoem="黑發(fā)不知勤學(xué)早";result=prompt("寫出下列詩詞的下一句\n"+poem);if(result=="白首方悔讀書遲")alert("回答正確");elsealert("回答錯(cuò)誤");</script>在JavaScript中,數(shù)值處理函數(shù)本質(zhì)上是由JavaScript的內(nèi)置對(duì)象的方法實(shí)現(xiàn)的,它能夠?qū)?shù)據(jù)進(jìn)行判斷、格式化等,具體介紹如下。.2數(shù)值處理函數(shù)
isNaN()函數(shù)用來確定一個(gè)變量是否為非數(shù)字。如果是非數(shù)字,返回true;如果是數(shù)字,則返回false,如下列代碼所示。
1.isNaN()、isFinite()函數(shù)isNaN(1);//返回falseisNaN(true);//返回falseisNaN(“a”);//返回trueisFinite()函數(shù)用來確定一個(gè)變量是否有限,如果這個(gè)變量不是NaN、字符串、負(fù)無窮或正無窮,那么isFinite()將返回true,否則將返回false,如下列代碼所示。
1.isNaN()、isFinite()函數(shù)isFinite(1);//返回trueisFinite(true);//返回trueisFinite(“a”);//返回false判斷數(shù)據(jù)是否為數(shù)字——isNaN()函數(shù)【任務(wù)五】使用isNaN()函數(shù)判斷數(shù)據(jù)是否為數(shù)字任務(wù)描述任務(wù)分析使用isNaN()函數(shù)判斷通過提示對(duì)話框輸入的數(shù)據(jù)是否為數(shù)字利用alert()在頁面上輸出測(cè)試結(jié)果判斷數(shù)據(jù)是否為數(shù)字——isNaN()函數(shù)【任務(wù)五】parseFloat()函數(shù)用來將數(shù)字或者數(shù)字與字母混合的字符串轉(zhuǎn)換成浮點(diǎn)數(shù)。對(duì)于由數(shù)字和字母組成的字符串,如果開頭不是數(shù)字,則返回NaN;如果開頭是數(shù)字,那么將第一個(gè)字母前面的數(shù)字轉(zhuǎn)換成浮點(diǎn)數(shù)。parseInt()函數(shù)同parseFloat()類似,用來將數(shù)字或者數(shù)字和字母混合的字符串轉(zhuǎn)換成整數(shù),如果字符串有小數(shù)部分,則只保留整數(shù)部分。對(duì)于由數(shù)字和字母組成的字符串,如果開頭不是數(shù)字,則返回NaN;如果開頭是數(shù)字,那么將第一個(gè)字母前面的數(shù)字轉(zhuǎn)換成整數(shù),如下列代碼所示。
2.parseFloat()、parseInt()函數(shù)parseFloat("123.45");//返回123.45parseFloat("123.4abc");//返回123.4parseFloat("abc123.45");//返回NaNparseInt("123.45");//返回123parseInt("123.45abc");//返回123parseInt(true);//返回NaN格式化數(shù)據(jù)——parseFloat()和parseInt()函數(shù)【任務(wù)六】通過parseFloat()和parseInt()函數(shù)將字符串分別顯式轉(zhuǎn)換成浮點(diǎn)數(shù)和整數(shù)。任務(wù)描述任務(wù)分析通過提示對(duì)話框輸入數(shù)據(jù),使用parseFloat()和parseInt()函數(shù)將數(shù)字表達(dá)式分別轉(zhuǎn)換成浮點(diǎn)數(shù)和整數(shù)。利用document.write()在頁面上輸出測(cè)試結(jié)果格式化數(shù)據(jù)——parseFloat()和parseInt()函數(shù)【任務(wù)六】toString()函數(shù)用來將數(shù)值型的數(shù)據(jù)轉(zhuǎn)換為字符串型,也可以返回指定進(jìn)制的數(shù)據(jù)(默認(rèn)為十進(jìn)制數(shù)據(jù)),語法格式如下。具體如下:
3.toString()、toFixed()函數(shù)num.toString([進(jìn)制]);//如果未指定進(jìn)制,將num轉(zhuǎn)換為默認(rèn)的十進(jìn)制的字符串;如果指定進(jìn)制,那么返回相應(yīng)進(jìn)制的數(shù)據(jù)varnum=12;document.write(num.toString());//頁面顯示字符串12document.write(num.toString(8));//頁面顯示12的八進(jìn)制數(shù)14toFixed()函數(shù)用來將浮點(diǎn)數(shù)轉(zhuǎn)換為固定小數(shù)位數(shù)的數(shù)字。語法格式如下。具體如下:
3.toString()、toFixed()函數(shù)num.toFixed([位數(shù)]);//將num四舍五入,保留指定位數(shù)的小數(shù);若省略參數(shù),則只保留整數(shù)部分。varnum=12.5678;document.write(num.toFixed());//頁面顯示13document.write(num.toFixed(2));//頁面顯示12四舍五入并保留2位小數(shù)的結(jié)果12.57在JavaScript中,字符串處理函數(shù)同前面介紹的消息對(duì)話框函數(shù)、數(shù)值處理函數(shù)一樣,都是由JavaScript的內(nèi)置對(duì)象的方法實(shí)現(xiàn)的,字符串處理函數(shù)能夠?qū)ψ址M(jìn)行一定的操作,具體介紹如下。.3字符串處理函數(shù)eval()函數(shù)用來計(jì)算字符串中的表達(dá)式,并返回表達(dá)式的值,如下列代碼所示1.eval()函數(shù)alert(eval("30+9/3"));返回33alert(eval("3>4"));返回falsealert(eval("6>5"));返回true計(jì)算表達(dá)式的值——eval()函數(shù)【任務(wù)七】通過eval()函數(shù)計(jì)算輸入的表達(dá)式的值任務(wù)描述任務(wù)分析通過提示對(duì)話框輸入表達(dá)式,使用eval()函數(shù)計(jì)算表達(dá)式的值。利用警示對(duì)話框在頁面上輸出測(cè)試結(jié)果計(jì)算表達(dá)式的值——eval()函數(shù)【任務(wù)七】escape()函數(shù)和unescape()函數(shù)是一對(duì)互逆函數(shù)。escape()函數(shù)用于對(duì)字符串中的字符(除字母和數(shù)字)進(jìn)行編碼轉(zhuǎn)換,轉(zhuǎn)換為%AA或者%UUUU的形式。AA指的是字符ASCII的十六進(jìn)制數(shù)的形式,UUUU指的是非ASCII字符(如漢字)的Unicode的形式,如下列代碼所示。2.escape()、unescape()函數(shù)alert(escape("Hello,小芳!"));//此處返回Hello%uFF0C%u5C0F%u82B3%uFF01alert(unescape("Hello%2C%u738B%u5C0F%u4E3D%uFF01"));//此處返回Hello,小芳!相關(guān)知識(shí)
聲明自定義函數(shù)在編寫代碼時(shí),可能會(huì)出現(xiàn)非常多相同的代碼,或者功能類似的代碼,這些代碼需要重復(fù)使用。例如,下面3段代碼實(shí)現(xiàn)了相似的功能。聲明自定義函數(shù)這3段代碼的共同點(diǎn)在于,i的結(jié)束值不一樣,其他代碼都是相同的,如果重復(fù)書寫,會(huì)造成代碼冗余。為了解決這個(gè)問題,我們引入自定義函數(shù),將一段代碼封裝起來,實(shí)現(xiàn)代碼的重復(fù)使用。那么該如何創(chuàng)建和調(diào)用自定義函數(shù)呢?在接下來的任務(wù)中進(jìn)行探索。自定義函數(shù)是根據(jù)需要自己定義的一段程序代碼具體分為兩類:有名函數(shù)和匿名函數(shù)自定義有名函數(shù),必須先聲明函數(shù).1聲明自定義函數(shù)聲明自定義函數(shù)使用下面的語法格式function是定義函數(shù)的關(guān)鍵字,后面是函數(shù)名,必選項(xiàng),且唯一參數(shù)是可選項(xiàng),多個(gè)參數(shù)之間要用逗號(hào)分隔函數(shù)體是必選項(xiàng),用于實(shí)現(xiàn)函數(shù)的功能return語句是可選的,用于返回函數(shù)值表達(dá)式可以為任意的表達(dá)式、變量或者常量聲明自定義函數(shù)function函數(shù)名([參數(shù)1],[參數(shù)2]…){
函數(shù)體;
[return表達(dá)式;]}計(jì)算商品總價(jià)——函數(shù)定義【任務(wù)八】定義函數(shù),實(shí)現(xiàn)計(jì)算商品總價(jià)任務(wù)描述任務(wù)分析為實(shí)現(xiàn)計(jì)算功能,函數(shù)體要用到算術(shù)表達(dá)式——總價(jià)=單價(jià)×數(shù)量在實(shí)現(xiàn)計(jì)算功能時(shí),可以先聲明3個(gè)變量price、num和total,分別用來保存單價(jià)、數(shù)量以及總價(jià)計(jì)算商品總價(jià)——函數(shù)定義【任務(wù)八】自定義函數(shù)定義好之后,就可以同內(nèi)置函數(shù)一樣,在程序中進(jìn)行調(diào)用。一般來說,在程序中調(diào)用函數(shù)有如下3種方式。2調(diào)用自定義函數(shù)在JavaScript程序中,可以直接使用函數(shù)名來調(diào)用函數(shù)。無論是內(nèi)置函數(shù)還是自定義函數(shù),調(diào)用的方法是一樣的。用函數(shù)名來調(diào)用函數(shù)的形式是“函數(shù)名()”,在調(diào)用函數(shù)時(shí)后面必須加括號(hào)。1.使用函數(shù)名調(diào)用函數(shù)printStr();在HTML中,可以使用超鏈接(在<a>標(biāo)簽的href屬性中使用“javascript:”)的方式來調(diào)用JavaScript函數(shù)。調(diào)用方法如下2.在HTML中用超鏈接的方式來調(diào)用函數(shù)<ahref="javascript:函數(shù)名(參數(shù))">…</a>在事件處理中,可以將JavaScript函數(shù)作為事件處理函數(shù)來調(diào)用。當(dāng)觸發(fā)事件時(shí)會(huì)自動(dòng)調(diào)用指定的JavaScript函數(shù)。3.在事件處理中用與事件結(jié)合的方式調(diào)用函數(shù)計(jì)算商品總價(jià)——使用函數(shù)名調(diào)用函數(shù)【任務(wù)九】要求直接通過函數(shù)名來調(diào)用【任務(wù)八】中自定義的函數(shù)total(),在頁面上輸出計(jì)算結(jié)果。任務(wù)描述任務(wù)分析直接使用函數(shù)名調(diào)用自定義函數(shù)具體實(shí)現(xiàn)時(shí)在<script>…</script>標(biāo)簽中通過total()調(diào)用計(jì)算商品總價(jià)——使用函數(shù)名調(diào)用函數(shù)【任務(wù)九】計(jì)算商品總價(jià)——使用超鏈接調(diào)用函數(shù)【任務(wù)十】要求直接通過超鏈接的方式來調(diào)用【任務(wù)八】中定義的函數(shù)任務(wù)描述任務(wù)分析與【任務(wù)九】調(diào)用同一個(gè)自定義函數(shù),采用超鏈接調(diào)用函數(shù)的方法來進(jìn)行,即通過“javascript:total()”調(diào)用具體實(shí)現(xiàn)時(shí)代碼為“<ahref="javascript:total()">…</a>”計(jì)算商品總價(jià)——使用超鏈接調(diào)用函數(shù)【任務(wù)十】JavaScript函數(shù)在定義和調(diào)用時(shí)是可以有參數(shù)和返回值的,本小節(jié)將針對(duì)函數(shù)的參數(shù)和返回值進(jìn)行講解。.2函數(shù)的參數(shù)和返回值按照函數(shù)定義的語法格式,在創(chuàng)建自定義函數(shù)時(shí),在函數(shù)名后面可以有1個(gè)或多個(gè)參數(shù),如下所示1.函數(shù)的參數(shù)function函數(shù)名([參數(shù)1],[參數(shù)2]…){
函數(shù)體;
[return表達(dá)式;]}我們把定義函數(shù)時(shí)指定的參數(shù)稱為形式參數(shù),簡(jiǎn)稱形參;而把調(diào)用函數(shù)時(shí)為形參實(shí)際傳遞值的參數(shù)稱為實(shí)際參數(shù),簡(jiǎn)稱實(shí)參。如果定義的函數(shù)中有參數(shù),那么調(diào)用這種函數(shù)的方式如下所示1.函數(shù)的參數(shù)函數(shù)名(實(shí)參1,實(shí)參2,…);計(jì)算任意商品總價(jià)——有參函數(shù)【任務(wù)十一】通過定義有參函數(shù)計(jì)算商品的總價(jià)任務(wù)描述任務(wù)分析通過帶有參數(shù)的函數(shù)來實(shí)現(xiàn)計(jì)算商品總價(jià)指定兩個(gè)形參price、num,分別表示單價(jià)和數(shù)量在調(diào)用時(shí),用單價(jià)和數(shù)量的實(shí)際值(實(shí)參)代替price和num兩個(gè)形參,就可以得到商品的總價(jià)計(jì)算任意商品總價(jià)——有參函數(shù)【任務(wù)十一】函數(shù)的返回值是指函數(shù)在調(diào)用后獲得的數(shù)據(jù)。在定義函數(shù)時(shí),可以為函數(shù)指定一個(gè)返回值,函數(shù)的返回值可以是任何類型的數(shù)據(jù)。在JavaScript中使用return語句得到返回值并退出函數(shù)。return語句的語法格式如下所示。這條語句的作用是結(jié)束函數(shù)體的執(zhí)行,并把表達(dá)式的值作為函數(shù)的返回值。2.函數(shù)的返回值return表達(dá)式;求兩個(gè)數(shù)的較大數(shù)——return語句【任務(wù)十二】定義函數(shù),求兩個(gè)數(shù)中的較大數(shù),并通過return語句得到其結(jié)果任務(wù)描述任務(wù)分析根據(jù)要求,求兩個(gè)數(shù)中的最大數(shù),可定義有兩個(gè)參數(shù)的函數(shù),通過比較將最大數(shù)保存在變量max中。返回值是最大數(shù),直接返回變量max。求兩個(gè)數(shù)的較大數(shù)——return語句【任務(wù)十二】變量只有在它的作用范圍內(nèi)才可以被調(diào)用,這個(gè)作用范圍就是變量的作用域。
在ES6標(biāo)準(zhǔn)出現(xiàn)之后,JavaScript變量的作用域按照其作用的范圍可以分為:全局作用域、局部作用域和塊級(jí)作用域3種。作用域?qū)?yīng)的變量分別為全局變量、局部變量和塊級(jí)變量。4函數(shù)變量的作用域全局變量:在函數(shù)體外聲明的變量或者在函數(shù)內(nèi)省略var關(guān)鍵字聲明的變量稱為全局變量,它在同一頁面文件中的所有腳本內(nèi)部都可以使用。局部變量:在函數(shù)體內(nèi)利用var關(guān)鍵字定義的變量稱為局部變量,僅在該函數(shù)內(nèi)部有效。在函數(shù)體外,即使使用同一個(gè)名字的變量,也被看作另一個(gè)變量。注意,如果局部變量和全局變量同名,在函數(shù)體內(nèi),只有局部變量是有效的。塊級(jí)變量:用ES6標(biāo)準(zhǔn)中新增的let關(guān)鍵字聲明的變量稱為塊級(jí)變量,它僅在包含它的最小代碼塊中有效。4函數(shù)變量的作用域輸出變量的值——變量的作用域【任務(wù)十三】測(cè)試變量的作用域任務(wù)描述任務(wù)分析分別通過3種具體的應(yīng)用測(cè)試3種變量的作用域首先聲明全局變量a,并進(jìn)行賦值。然后定義函數(shù),在函數(shù)中聲明局部變量a,在函數(shù)中輸出的a是局部變量。接下來在for循環(huán)中定義塊級(jí)變量a,輸出的a是塊級(jí)變量。最后測(cè)試輸出的變量a,結(jié)果是全局變量輸出變量的值——變量的作用域【任務(wù)十三】函數(shù)的嵌套是指在一個(gè)函數(shù)內(nèi)包含另外一個(gè)函數(shù)。
在JavaScript中,一個(gè)函數(shù)體內(nèi)的語句可以調(diào)用另外一個(gè)函數(shù),這就是函數(shù)的嵌套調(diào)用。在函數(shù)嵌套調(diào)用時(shí),被調(diào)用的函數(shù)應(yīng)該先寫好,否則不能完成函數(shù)的嵌套調(diào)用。5函數(shù)的嵌套求1+(1+2)+(1+2+3)+…+(1+2+…+n)的值——函數(shù)嵌套【任務(wù)十四】使用函數(shù)嵌套的方式求出1+(1+2)+(1+2+3)+…+(1+2+…+n)的值任務(wù)描述任務(wù)分析分析該算式,實(shí)際上是求1~n的累加和的累加和,所以可以編寫一個(gè)函數(shù)sum()求1~n的累加和,再編寫一個(gè)函數(shù)sum_all()對(duì)這些累加和進(jìn)行累加利用sum_all()函數(shù)嵌套sum()函數(shù)即可實(shí)現(xiàn)目的累加和的求法可使用循環(huán)語句來實(shí)現(xiàn)求1+(1+2)+(1+2+3)+…+(1+2+…+n)的值——函數(shù)嵌套【任務(wù)十四】相關(guān)知識(shí)函數(shù)進(jìn)階函數(shù)表達(dá)式是指將聲明的函數(shù)賦值給一個(gè)變量,通過變量完成函數(shù)的調(diào)用。4.函數(shù)表達(dá)式varfn=functiongetSum(num1,num2){returnnum1+num2;};fn(2,4);比較一下前面學(xué)習(xí)過的自定義的有名函數(shù)和函數(shù)表達(dá)式函數(shù)表達(dá)式函數(shù)表達(dá)式就是在自定義函數(shù)的基礎(chǔ)上,將自定義函數(shù)賦值給一個(gè)變量,不同的是函數(shù)表達(dá)式必須在調(diào)用的時(shí)候采用“變量名()”的形式,而不是采用“函數(shù)名()”的形式調(diào)用。顧名思義,匿名函數(shù)就是沒有名稱的函數(shù),它是函數(shù)表達(dá)式的另一種形式匿名函數(shù)匿名函數(shù)就是在函數(shù)表達(dá)式的基礎(chǔ)上去掉函數(shù)名。觀察匿名函數(shù)的調(diào)用,通過“變量名()”的形式,可以將整個(gè)function部分替換成“變量名”,于是就有了如下自調(diào)用的方式,這種方
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026上海市聾啞青年技術(shù)學(xué)校招聘4人備考題庫含答案詳解(達(dá)標(biāo)題)
- 語文課上的一次辯論周記展示本周經(jīng)歷與感想11篇范文
- 2026廣東廣州花都區(qū)秀全街九潭初級(jí)中學(xué)臨聘教師招聘1人備考題庫及答案詳解(奪冠系列)
- 合同解除責(zé)任履行承諾函4篇
- 2026上半年青海事業(yè)單位聯(lián)考黃南州招聘68人備考題庫及答案詳解(歷年真題)
- 2026四川宜賓市第八中學(xué)校招聘教師3人備考題庫帶答案詳解(能力提升)
- 2026內(nèi)蒙古真金種業(yè)科技有限公司招聘7人備考題庫含答案詳解(典型題)
- 2026中國(guó)鋁業(yè)集團(tuán)有限公司總部部門部分處室副處長(zhǎng)、副經(jīng)理崗位競(jìng)爭(zhēng)上崗5人備考題庫帶答案詳解(a卷)
- 2026內(nèi)蒙古鄂爾多斯東勝區(qū)志愿者招募備考題庫帶答案詳解(達(dá)標(biāo)題)
- 2026上半年安徽事業(yè)單位聯(lián)考黃山市屯溪區(qū)招聘40人備考題庫附答案詳解(培優(yōu))
- 中醫(yī)醫(yī)院針灸進(jìn)修總結(jié)
- 主動(dòng)脈瘤護(hù)理查房
- 招聘費(fèi)用預(yù)算及方案(3篇)
- 湖南省2025年中考?xì)v史真題試卷及答案
- 癲癇患者急救護(hù)理
- 2025公務(wù)員能源局面試題目及答案
- T/CCIAS 009-2023減鹽醬油
- 云南省曲靖市2024-2025學(xué)年高三年級(jí)第二次教學(xué)質(zhì)量監(jiān)測(cè)思想政治試卷(含答案)
- 名著導(dǎo)讀《經(jīng)典常談》整部書章節(jié)內(nèi)容概覽
- 公司6S管理手冊(cè)
- 賬期合同協(xié)議范本
評(píng)論
0/150
提交評(píng)論