



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、關(guān)于JS中的apply,call,bind的深化解析_ 在Javascript中,F(xiàn)unction是一種對象。Function對象中的this指向決定于函數(shù)被調(diào)用的方式。用法apply,call 與 bind 均可以轉(zhuǎn)變函數(shù)對象中this的指向,在說區(qū)分之前還是先總結(jié)一下三者的相像之處: 1、都是用來轉(zhuǎn)變函數(shù)的this對象的指向的。 2、第一個(gè)參數(shù)都是this要指向的對象。 3、都可以利用后續(xù)參數(shù)傳參。 call方法: 語法:call(thisObj,arg1, arg2, ,.argN) 定義:調(diào)用一個(gè)對象的一個(gè)方法,以另一個(gè)對象替換當(dāng)前對象。 說明:call 方法可以用來代替另一個(gè)對象調(diào)用
2、一個(gè)方法。call 方法可將一個(gè)函數(shù)的對象上下文從初始的上下文轉(zhuǎn)變?yōu)橛?thisObj 指定的新對象。 假如沒有供應(yīng) thisObj 參數(shù),那么 Global 對象被用作 thisObj。 apply: 語法:apply(thisObj,數(shù)組參數(shù)) 定義:應(yīng)用某一個(gè)對象的一個(gè)方法,用另一個(gè)對象替換當(dāng)前對象 說明:假如參數(shù)不是數(shù)組類型的,則會(huì)報(bào)一個(gè)TypeError錯(cuò)誤。 bind: 在EcmaScript5中擴(kuò)展了叫bind的方法(IE6,7,8不支持),bind與call很相像,,例如,可接受的參數(shù)都分為兩部分,且第一個(gè)參數(shù)都是作為執(zhí)行時(shí)函數(shù)上下文中的this的對象。不同點(diǎn)有兩個(gè): bind
3、的返回值是函數(shù);后面的參數(shù)的用法也有區(qū)分; 先看例子一: function add(a, b) alert(a + b); function sub(a, b) alert(a - b); 對于,call,可以這么用: add.call(sub,3,1);結(jié)果為4 對于,apply,可以這么用; add.apply(sub,3,1);結(jié)果為4 對于,bind,可以這么用: add.bind(sub)(3,1);結(jié)果為4 可以看到輸出結(jié)果都一樣,但是傳參用法不一樣; 再看例子二: function jone(name,age,work) =name; this.age=age;
4、 this.work=work; this.say=function(msg) alert(msg+,我叫++,我今年+this.age+歲,我是+this.work) var jack= name:jack, age:24, work:同學(xué) var pet=new jone(); pet.say.apply(jack,歡迎您) console.log() 對于call,需要這樣: pet.say.call(jack,歡迎您!) 對于apply,需要這樣: pet.say.apply(jack,歡迎您!) 對于bind,需要這樣: pet.say.bind(jack,歡迎您)() 此時(shí)輸出console.log(),發(fā)覺為jack,this上下文
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中醫(yī)基礎(chǔ)理論考試試題及答案
- 制氧管理面試題及答案
- 2025年環(huán)境與資源保護(hù)法律法規(guī)考試試題及答案
- 2025年財(cái)務(wù)報(bào)表分析與解讀考試試題
- 數(shù)據(jù)工程師面試題及答案
- 科目四貴州試題及答案
- 烏龜人性測試題及答案
- 零售業(yè)店面運(yùn)營管理合同
- 軟件設(shè)計(jì)師考試實(shí)踐項(xiàng)目的重要性試題及答案
- 機(jī)電工程學(xué)習(xí)中常見問題與試題及答案
- 非營運(yùn)車標(biāo)轉(zhuǎn)讓協(xié)議書
- 福建百校聯(lián)考2025屆高三5月高考押題卷-化學(xué)試卷(含答案)
- 2025年瑜伽教練認(rèn)證考試體式教學(xué)與課程設(shè)計(jì)模擬試題集(含答案詳解)
- 2025-2030中國養(yǎng)老服務(wù)行業(yè)發(fā)展分析及發(fā)展前景與趨勢預(yù)測研究報(bào)告
- 2025《學(xué)前教育法》宣傳月培訓(xùn)含講稿
- 招聘社工考試試題及答案
- 護(hù)理三基三嚴(yán)培訓(xùn)課件
- 2025年湖北省新能源有限公司社會(huì)招聘24人筆試參考題庫附帶答案詳解
- 磚和砌塊材料試題及答案
- TCCEAS001-2022建設(shè)項(xiàng)目工程總承包計(jì)價(jià)規(guī)范
- 職業(yè)教育現(xiàn)場工程師聯(lián)合培養(yǎng)協(xié)議書10篇
評論
0/150
提交評論