版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
函數(shù)進階JavaScript高級03天-昨日復(fù)習(xí)昨日復(fù)習(xí)構(gòu)造函數(shù)的原型是硬件系統(tǒng)
,實例對象的原型是硬件系統(tǒng)
構(gòu)造函數(shù)、原型對象、實例對象的三角關(guān)系硬件系統(tǒng)改變this指向的一個方法硬件系統(tǒng)遍歷數(shù)組使用硬件系統(tǒng)
過濾數(shù)組使用硬件系統(tǒng)去除字符串兩端的空格硬件系統(tǒng)獲取對象的屬性名系,返回值是系統(tǒng)設(shè)置或修改對象屬性______________JavaScript高級03天-昨日復(fù)習(xí)昨日復(fù)習(xí)構(gòu)造函數(shù)的原型是硬prototype系統(tǒng)
,實例對象的原型是__proto__
構(gòu)造函數(shù)、原型對象、實例對象的三角關(guān)系
1.構(gòu)造函數(shù)的prototype屬性指向了構(gòu)造函數(shù)原型對象2.實例對象是由構(gòu)造函數(shù)創(chuàng)建的,實例對象的__proto__屬性指向了構(gòu)造函數(shù)的原型對象3.構(gòu)造函數(shù)的原型對象的constructor屬性指向了構(gòu)造函數(shù),實例對象的原型的constructor屬性也指向了構(gòu)造函數(shù)改變this指向的一個方法call遍歷數(shù)組使用forEach
統(tǒng)
過濾數(shù)組使用filter
統(tǒng)去除字符串兩端的空格硬件trim
統(tǒng)獲取對象的屬性名系Object.keys
,返回值是數(shù)組統(tǒng)設(shè)置或修改對象屬性____Object.defineProperty______函數(shù)的定義和調(diào)用this嚴格模式高階函數(shù)閉包遞歸函數(shù)this遞歸閉包要點提示函數(shù)進階導(dǎo)讀掌握程度:了解1.1函數(shù)進階導(dǎo)讀視函數(shù)聲明方式函數(shù)表達式NewFunction要點提示函數(shù)的定義方式掌握程度:應(yīng)用1.2函數(shù)的定義方式結(jié)視練方式一:函數(shù)聲明方式function關(guān)鍵字(命名函數(shù));方式二:函數(shù)表達式(匿名函數(shù));方式三:newFunction(‘參數(shù)1’,‘參數(shù)2’,‘函數(shù)體’),參數(shù)和函數(shù)體一定要使用字符串包裹
;在開發(fā)過程中我們使用前兩種方式比較多,方式三書寫繁瑣,指向效率較低,使用頻率較少;函數(shù)也是屬于對象;1.3函數(shù)定義方式總結(jié)課堂問答練視知識總結(jié)結(jié)練習(xí)請書寫一個函數(shù)求兩個數(shù)的和,使用函數(shù)定義的三種方式。提示方式一:使用命名函數(shù)方式二:使用匿名函數(shù)(函數(shù)表達式)方式三:newFunction5分鐘1.4函數(shù)定義方式練習(xí)視結(jié)練函數(shù)的6種調(diào)用方式要點提示函數(shù)的調(diào)用方式掌握程度:應(yīng)用1.5函數(shù)的調(diào)用方式結(jié)視普通函數(shù)的調(diào)用對象中的函數(shù)調(diào)用構(gòu)造函數(shù)的調(diào)用DOM元素綁定事件調(diào)用函數(shù)定時器中調(diào)用函數(shù)立即執(zhí)行函數(shù)1.6函數(shù)的調(diào)用方式總結(jié)課堂問答視知識總結(jié)結(jié)函數(shù)的定義和調(diào)用this嚴格模式高階函數(shù)閉包遞歸this的指向在定義的時候是不明確的,this指向出現(xiàn)的多種情況要點提示函數(shù)內(nèi)部的this指向掌握程度:應(yīng)用2.1函數(shù)內(nèi)部的this指向結(jié)視普通函數(shù)this指向window對象的方法this指向的是對象構(gòu)造函數(shù)this指向構(gòu)造函數(shù)new出來的實例對象綁定事件函數(shù)this指向的是函數(shù)的調(diào)用者定時器函數(shù)this指向的是window立即執(zhí)行函數(shù)this指向的是window2.2this指向總結(jié)課堂問答知識總結(jié)視結(jié)call可以改變this指向,并立即調(diào)用函數(shù)參數(shù)如何是傳遞的call方法的應(yīng)用場景要點提示call方法及其應(yīng)用掌握程度:應(yīng)用2.3call方法及其應(yīng)用結(jié)視練2.4call方法總結(jié)課堂問答視知識總結(jié)結(jié)call可以調(diào)用函數(shù)call可以改變函數(shù)內(nèi)部的this指向使用call方法傳遞參數(shù)使用逗號隔開call方法一般應(yīng)用于繼承練練習(xí)請書寫一個函數(shù),求兩個數(shù)的和,調(diào)用的時候修改該函數(shù)內(nèi)部的this指向提示定義一個函數(shù)調(diào)用函數(shù)使用call方法注意參數(shù)的傳遞使用逗號隔開10分鐘2.5call方法練習(xí)視結(jié)練apply可以改變this指向,并立即調(diào)用函數(shù)參數(shù)如何是傳遞的apply方法的應(yīng)用場景要點提示apply方法及其應(yīng)用掌握程度:應(yīng)用2.6apply方法及其應(yīng)用結(jié)視練2.7apply方法總結(jié)課堂問答視知識總結(jié)結(jié)apply可以調(diào)用函數(shù)apply可以改變函數(shù)內(nèi)部的this指向使用apply方法傳遞參數(shù)使用數(shù)組傳遞apply方法一般應(yīng)用于操作數(shù)組數(shù)據(jù)練練習(xí)請書寫一個函數(shù),求兩個數(shù)的和,調(diào)用的時候修改該函數(shù)內(nèi)部的this指向提示定義一個函數(shù)調(diào)用函數(shù)使用apply方法注意參數(shù)的傳遞使用數(shù)組傳遞10分鐘2.8apply方法練習(xí)視結(jié)練bind可以改變函數(shù)的this指向是否會指行函數(shù)bind方法的應(yīng)該場景要點提示bind方法基本使用掌握程度:應(yīng)用3.1bind方法基本使用結(jié)視3.2bind方法總結(jié)課堂問答視知識總結(jié)結(jié)bind不會調(diào)用原來的函數(shù)可以改變原來函數(shù)內(nèi)部的this指向返回的是原函數(shù)改變this之后產(chǎn)生的新函數(shù)應(yīng)用場景:如果有的函數(shù)我們不需要立即調(diào)用,但是又想改變這個函數(shù)內(nèi)部的this指向此時用bind不調(diào)用函數(shù),只想改變函數(shù)的this指向要點提示bind方法應(yīng)用掌握程度:應(yīng)用3.3bind方法應(yīng)用結(jié)視練3.4bind方法應(yīng)用總結(jié)課堂問答視知識總結(jié)結(jié)bind不會調(diào)用原來的函數(shù)可以改變原來函數(shù)內(nèi)部的this指向返回的是原函數(shù)改變this之后產(chǎn)生的新函數(shù)應(yīng)用場景:如果有的函數(shù)我們不需要立即調(diào)用,但是又想改變這個函數(shù)內(nèi)部的this指向此時用bind練練習(xí)為按鈕綁定點擊事件,點擊完按鈕禁用按鈕,等待3s之后按鈕不禁用提示頁面中定義一個按鈕,并獲取綁定點擊事件點擊之后立馬禁用在延時器中等待3s之后按鈕不禁用,使用bind方法實現(xiàn),注意定時器中的this指向的是window,修改this指向10分鐘3.5bind方法練習(xí)視結(jié)練比較三個修改this指向方法的異同要點提示call和apply以及bind總結(jié)掌握程度:應(yīng)用3.6call和apply以及bind總結(jié)結(jié)視3.7call和apply以及bind總結(jié)課堂問答視知識總結(jié)結(jié)相同點:都可以改變this指向不同點:call和apply會調(diào)用函數(shù),并且改變函數(shù)內(nèi)部this指向call傳遞參數(shù)使用逗號隔開傳遞,apply傳遞參數(shù)使用數(shù)組傳遞bind不會調(diào)用函數(shù)應(yīng)用場景:call經(jīng)常做繼承apply經(jīng)常跟數(shù)組有關(guān)系.比如借助于數(shù)學(xué)對象實現(xiàn)數(shù)組最大值最小值bind不調(diào)用函數(shù),但是還想改變this指向.比如改變定時器內(nèi)部的this指向上午復(fù)習(xí)
函數(shù)的定義方式
this指向
改變this指向的三個方法
改變this指向的三個方法的區(qū)別
JavaScript高級03天-上午復(fù)習(xí)上午復(fù)習(xí)
函數(shù)的定義方式命名函數(shù)、匿名函數(shù)、newFunctionthis指向
六種情況改變this指向的三個方法call、apply、bind改變this指向的三個方法的區(qū)別三個方法都可以改變this指向,call和apply會立即調(diào)用函數(shù),bind不會立即調(diào)用,返回這個函數(shù)的拷貝,apply的參數(shù)是使用數(shù)組傳遞,call使用逗號隔開傳遞JavaScript高級03天-上午復(fù)習(xí)函數(shù)的定義和調(diào)用this嚴格模式高階函數(shù)閉包遞歸
什么是嚴格模式‘usestrict’要點提示什么是嚴格模式以及如何開啟嚴格模塊掌握程度:了解4.1什么是嚴格模式以及如何開啟嚴格模塊視答結(jié)1、如何開啟嚴格模式2、如何開啟嚴格模式4.2為什么使用嚴格模式如何開啟嚴格模式結(jié)課堂問答答視課堂問答4.3什么是嚴格模式以及如何開啟嚴格模塊總結(jié)課堂問答視知識總結(jié)結(jié)嚴格模式的產(chǎn)生:消除了Javascript語法的一些不合理、不嚴謹之處,減少了一些怪異行為。消除代碼運行的一些不安全之處,保證代碼運行的安全。提高編譯器效率,增加運行速度。開啟嚴格模式:使用‘usestrict’。答嚴格模式下的代碼規(guī)范要點提示嚴格模式的變化掌握程度:了解4.4
嚴格模式的變化視4.5什么是嚴格模式以及如何開啟嚴格模塊總結(jié)課堂問答視知識總結(jié)結(jié)變量:在正常模式中,如果一個變量沒有聲明就賦值,默認是全局變量.嚴格模式禁止這種用法,變量都必須先用var命令聲明,然后再使用嚴禁刪除已經(jīng)聲明變量。例如,deletex;語法是錯誤的this指向問題:嚴格模式下全局作用域中函數(shù)中的this是undefined嚴格模式下,如果構(gòu)造函數(shù)不加new調(diào)用,this指向的是undefined如果賦值,會報錯new實例化的構(gòu)造函數(shù)指向創(chuàng)建的對象實例。定時器this還是指向window事件、對象還是指向調(diào)用者函數(shù)變化函數(shù)不能有重名的參數(shù)函數(shù)必須聲明在最前面.新版本的JavaScript會引入“塊級作用域”(ES6中已引入)為了與新版本接軌,不允許在非函數(shù)的代碼塊內(nèi)聲明函數(shù)函數(shù)的定義和調(diào)用this嚴格模式高階函數(shù)閉包遞歸函數(shù)可以當做參數(shù)來進行傳遞,回調(diào)函數(shù)要點提示高階函數(shù)掌握程度:應(yīng)用5.1高階函數(shù)答結(jié)視練1、什么是高階函數(shù)5.2高階函數(shù)結(jié)課堂問答答視課堂問答練5.3高階函數(shù)總結(jié)課堂問答視知識總結(jié)結(jié)高階函數(shù)是對其他函數(shù)進行操作的函數(shù),它接收函數(shù)作為參數(shù)或?qū)⒑瘮?shù)作為返回值輸出。答練練習(xí)將函數(shù)作為參數(shù)練習(xí),將函數(shù)作為返回值練習(xí)提示定義兩個函數(shù)函數(shù)1和函數(shù)21.將函數(shù)1作為參數(shù)傳遞給函數(shù)22.將函數(shù)1作為返回值傳遞給函數(shù)210分鐘5.4高階函數(shù)練習(xí)視結(jié)練答函數(shù)的定義和調(diào)用this嚴格模式高階函數(shù)閉包遞歸什么是閉包要點提示什么是閉包掌握程度:應(yīng)用6.1
什么是閉包結(jié)視6.2閉包概念總結(jié)課堂問答視知識總結(jié)結(jié)閉包(closure)指有權(quán)訪問另一個函數(shù)作用域中變量的函數(shù),一個作用域可以訪問另外一個函數(shù)的局部變量。延長變量的作用范圍要點提示閉包的作用掌握程度:應(yīng)用6.3閉包的作用結(jié)視6.4閉包作用總結(jié)課堂問答視知識總結(jié)結(jié)閉包的主要作用:延伸了變量的作用范圍。閉包,延長變量的作用范圍要點提示閉包應(yīng)用-點擊li打印當前索引號掌握程度:應(yīng)用6.5閉包應(yīng)用-點擊li打印當前索引號結(jié)視練6.6利用閉包的方式得到當前l(fā)i的索引號總結(jié)課堂問答視知識總結(jié)結(jié)頁面中定義一個li列表獲取li的集合,進行遍歷,為每個li綁定點擊事件,打印當前l(fā)i的索引在循環(huán)內(nèi),創(chuàng)建立即執(zhí)行函數(shù),立即執(zhí)行函數(shù)內(nèi)部是包裹著點擊事件的,自執(zhí)行函數(shù)的參數(shù)是for循環(huán)的變量練練習(xí)一個li列表,為li綁定點擊事件,打印對應(yīng)的索引提示頁面中定義一個li列表獲取li的集合,進行遍歷,為每個li綁定點擊事件,打印當前l(fā)i的索引在循環(huán)內(nèi),創(chuàng)建立即執(zhí)行函數(shù),立即執(zhí)行函數(shù)內(nèi)部是包裹著點擊事件的,自執(zhí)行函數(shù)的函數(shù)參數(shù)是for循環(huán)的變量10分鐘6.7利用閉包的方式得到當前l(fā)i的索引號練習(xí)視結(jié)練閉包,延長變量的作用范圍要點提示閉包應(yīng)用-3秒鐘之后打印li內(nèi)容掌握程度:應(yīng)用6.8閉包應(yīng)用-3秒鐘之后打印li內(nèi)容結(jié)視6.9閉包應(yīng)用-3秒鐘之后打印li內(nèi)容總結(jié)課堂問答視知識總結(jié)結(jié)頁面中定義一個li列表獲取li的集合,進行遍歷,打印當前l(fā)i內(nèi)容在循環(huán)內(nèi),創(chuàng)建立即執(zhí)行函數(shù),立即執(zhí)行函數(shù)內(nèi)部是包裹著延時器的函數(shù),自執(zhí)行函數(shù)參數(shù)是for循環(huán)的變量閉包,延長變量的作用范圍要點提示閉包應(yīng)用-計算打車價格掌握程度:應(yīng)用7.1閉包應(yīng)用-計算打車價格結(jié)視7.2閉包應(yīng)用-計算打車價格總結(jié)課堂問答視知識總結(jié)結(jié)定義一個自執(zhí)行函數(shù),自執(zhí)行函數(shù)內(nèi)部定義兩個局部變量(起步價和總價)自執(zhí)行函數(shù)返回一個對象,對象內(nèi)部定義兩個方法(正常的總價,擁堵的總價)對象中的兩個函數(shù)返回總價將自執(zhí)行函數(shù)存儲到變量中,調(diào)用即可要點提示思考題(選講)掌握程度:應(yīng)用7.3思考題(選講)視閉包案例擴varname="TheWindow";varobject={name:"MyObject",getNameFunc:function(){returnfunction(){;};}};
console.log(object.getNameFunc()())7.4閉包擴展案例課堂問答視擴展講解擴varname="TheWindow";
varobject={
name:"MyObject",getNameFunc:function(){varthat=this;returnfunction(){;};}};console.log(object.getNameFunc()())函數(shù)的定義和調(diào)用this嚴格模式高階函數(shù)閉包遞歸遞歸是什么要點提示什么是遞歸函數(shù)掌握程度:應(yīng)用8.1什么是遞歸函數(shù)結(jié)視8.2遞歸總結(jié)課堂問答視知識總結(jié)結(jié)一個函數(shù)在內(nèi)部可以調(diào)用其本身,那么這個函數(shù)就是遞歸函數(shù)遞歸函數(shù)一定要有跳出條件函數(shù)內(nèi)部自己調(diào)用自己,注意跳出條件要點提示利用遞歸求階乘掌握程度:應(yīng)用8.3利用遞歸求階乘結(jié)視練8.4利用遞歸求階乘總結(jié)課堂問答視知識總結(jié)結(jié)定義函數(shù)fn,傳遞形參函數(shù)內(nèi)部調(diào)用自己注意要有跳出條件,如果參與運算的數(shù)字等于1,直接終止跳出函數(shù)調(diào)用傳遞參數(shù)練練習(xí)利用遞歸求階乘提示定義函數(shù)fn,傳遞形參函數(shù)內(nèi)部調(diào)用自己注意要有跳出條件,如果參與運算的數(shù)字等于1,直接終止跳出函數(shù)調(diào)用傳遞參數(shù)10分鐘8.5利用遞歸求階乘練習(xí)視結(jié)練什么是斐波那契數(shù)列函數(shù)內(nèi)部自己調(diào)用自己,注意跳出條件要點提示利用遞歸求斐波那契數(shù)列掌握程度:應(yīng)用8.6利用遞歸求斐波那契數(shù)列結(jié)視練8.7利用遞歸求斐波那契數(shù)列總結(jié)課堂問答視知識總結(jié)結(jié)特點:前兩項的和正好是第三項的和定義函數(shù)fn,傳遞形參函數(shù)內(nèi)部調(diào)用自己注意要有跳出條件,如果參與運算的數(shù)字等于11或者等于2,直接終止跳出函數(shù)調(diào)用傳遞參數(shù)練練習(xí)利用遞歸求斐波那契數(shù)列提示定義函數(shù)fn,傳遞形參函數(shù)內(nèi)部調(diào)用自己注意要有跳出條件,如果參與運算的數(shù)字等于11或者等于2,直接終止跳出函數(shù)調(diào)用傳遞參數(shù)10分鐘8.8利用遞歸求斐波那契數(shù)列練習(xí)視結(jié)練要點提示利用遞歸遍歷數(shù)據(jù)(上)掌握程度:應(yīng)用9.1利用遞歸遍歷數(shù)據(jù)(上)結(jié)視9.2利用遞歸遍歷數(shù)據(jù)總結(jié)課堂問答視知識總結(jié)結(jié)定義一個復(fù)雜數(shù)組,數(shù)組元素為對象和數(shù)組,數(shù)組中還包含對象,對象中有id屬性,我們想要做輸入id號,就可以返回的數(shù)據(jù)對象定義函數(shù),定義兩個參數(shù),參數(shù)一為處理的數(shù)組,參數(shù)二為查詢的id函數(shù)內(nèi)部使用forEach遍歷數(shù)組,判斷輸入的id和數(shù)組元素中的元素的id是否匹配,如果匹配打印我們需要的結(jié)果,因為數(shù)據(jù)嵌套多層,索引需要使用遞歸,函數(shù)內(nèi)部自己調(diào)用自己練要點提示利用遞歸遍歷數(shù)據(jù)(下)掌握程度:應(yīng)用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 14124-2024機械振動與沖擊固定建筑結(jié)構(gòu)的振動振動測量及對結(jié)構(gòu)影響評價的指南
- PB-22-8-Hydroxyisoquinoline-isomer-生命科學(xué)試劑-MCE-5052
- Lariciresinol-4-O-β-D-glucopyranoside-生命科學(xué)試劑-MCE-5846
- E3-Ligase-Ligand-linker-Conjugate-122-生命科學(xué)試劑-MCE-1944
- 二零二五年度航空航天產(chǎn)業(yè)融資合作協(xié)議書
- 二零二五年度用人單位與派遣公司國際化人才派遣服務(wù)協(xié)議
- 2025年度音樂制作與音樂版權(quán)許可合同
- 2025年度活動板房銷售與臨時辦公場所租賃合同
- 二零二五年度商業(yè)地產(chǎn)貸款合同范本
- 2025年度飯店短期餐飲服務(wù)員勞務(wù)派遣協(xié)議
- 《春酒》琦君完整版
- 北師大版(2024新版)七年級上冊數(shù)學(xué)第四章《基本平面圖形》測試卷(含答案解析)
- 湖南省邵陽市武岡市2024屆高三上學(xué)期期中考試地理含答案解析
- 2022年內(nèi)分泌醫(yī)療質(zhì)量控制評價體系與考核標準
- 春節(jié)后復(fù)工安全教育培訓(xùn)考試試題及答案
- 寄宿制學(xué)校工作總結(jié)
- 小學(xué)數(shù)學(xué)6年級應(yīng)用題100道附答案(完整版)
- 2024年江蘇農(nóng)牧科技職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫含答案
- JT-T 1495-2024 公路水運危險性較大工程專項施工方案編制審查規(guī)程
- JT-T-390-1999突起路標行業(yè)標準
- 2023年四川省成都市武侯區(qū)中考物理二診試卷(含答案)
評論
0/150
提交評論