摘要:綁定函數(shù)被調(diào)用時,也接受預(yù)設(shè)的參數(shù)提供給原函數(shù)。一個綁定函數(shù)也能使用操作符創(chuàng)建對象這種行為就像把原函數(shù)當(dāng)成構(gòu)造器。
歡迎前端愛好者加入QQ群:112916679 答疑解惑,且可獲取更多前端資料!
bind()方法創(chuàng)建一個新的函數(shù), 當(dāng)被調(diào)用時,將其this關(guān)鍵字設(shè)置為提供的值,在調(diào)用新函數(shù)時,在任何提供之前提供一個給定的參數(shù)序列。
例子:var obj = { x: 20, getX: function(){ return this.x; } }; var foo = obj.getX; console.log(foo()); // undefined var bindFoo = foo.bind(obj); console.log(bindFoo()); // 20語法
fun.bind(thisArg[, arg1[, arg2[, ...]]])參數(shù)
thisArg
當(dāng)綁定函數(shù)被調(diào)用時,該參數(shù)會作為原函數(shù)運行時的 this 指向。當(dāng)使用new 操作符調(diào)用綁定函數(shù)時,該參數(shù)無效。
arg1, arg2, ...
當(dāng)綁定函數(shù)被調(diào)用時,這些參數(shù)將置于實參之前傳遞給被綁定的方法。
返回由指定的this值和初始化參數(shù)改造的原函數(shù)拷貝
描述bind() 函數(shù)會創(chuàng)建一個新函數(shù)(稱為綁定函數(shù)),新函數(shù)與被調(diào)函數(shù)(綁定函數(shù)的目標(biāo)函數(shù))具有相同的函數(shù)體(在 ECMAScript 5 規(guī)范中內(nèi)置的call屬性)。當(dāng)新函數(shù)被調(diào)用時 this 值綁定到 bind() 的第一個參數(shù),該參數(shù)不能被重寫。綁定函數(shù)被調(diào)用時,bind() 也接受預(yù)設(shè)的參數(shù)提供給原函數(shù)。一個綁定函數(shù)也能使用new操作符創(chuàng)建對象:這種行為就像把原函數(shù)當(dāng)成構(gòu)造器。提供的 this 值被忽略,同時調(diào)用時的參數(shù)被提供給模擬函數(shù)。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/93438.html
摘要:日常編碼中被開發(fā)者用來實現(xiàn)對象冒充,也即顯示綁定。面試題源碼實現(xiàn),事實上是對基礎(chǔ)知識的一個綜合考核。原型鏈終端指向,不會有構(gòu)造函數(shù),也不會有等屬性,這些屬性來自。 call/apply/bind 日常編碼中被開發(fā)者用來實現(xiàn) 對象冒充,也即 顯示綁定 this。 面試題:call/apply/bind源碼實現(xiàn),事實上是對 JavaScript 基礎(chǔ)知識的一個綜合考核。 相關(guān)知識點: 作...
摘要:引言上一節(jié)介紹了高階函數(shù)的定義,并結(jié)合實例說明了使用高階函數(shù)和不使用高階函數(shù)的情況。我們期望函數(shù)輸出,但是實際上調(diào)用柯里化函數(shù)時,所以調(diào)用時就已經(jīng)執(zhí)行并輸出了,而不是理想中的返回閉包函數(shù),所以后續(xù)調(diào)用將會報錯。引言 上一節(jié)介紹了高階函數(shù)的定義,并結(jié)合實例說明了使用高階函數(shù)和不使用高階函數(shù)的情況。后面幾部分將結(jié)合實際應(yīng)用場景介紹高階函數(shù)的應(yīng)用,本節(jié)先來聊聊函數(shù)柯里化,通過介紹其定義、比較常見的...
摘要:函數(shù)柯里化在函數(shù)式編程中,函數(shù)是一等公民。函數(shù)柯里化的主要作用和特點就是參數(shù)復(fù)用提前返回和延遲執(zhí)行。可能在實際應(yīng)用場景中,很少使用函數(shù)柯里化的解決方案,但是了解認(rèn)識函數(shù)柯里化對自身的提升還是有幫助的。 最近在整理面試資源的時候,發(fā)現(xiàn)一道有意思的題目,所以就記錄下來。 題目 如何實現(xiàn) multi(2)(3)(4)=24? 首先來分析下這道題,實現(xiàn)一個 multi 函數(shù)并依次傳入?yún)?shù)執(zhí)行,...
摘要:接下來,我們換一種思路,用一個相對較新的來實現(xiàn)方法。從這道題目看出,相比考察死記硬背,這樣的實現(xiàn)更有意義。對數(shù)組的操作我們不能陌生,其中方法更要做到駕輕就熟。最后,我們再看下社區(qū)上著名的和的實現(xiàn)。 有不少剛?cè)胄械耐瑢W(xué)跟我說:JavaScript 很多 API 記不清楚怎么辦?數(shù)組的這方法、那方法總是傻傻分不清楚,該如何是好?操作 DOM 的方式今天記,明天忘,真讓人奔潰! 甚至有的開發(fā)...
閱讀 3412·2021-10-08 10:15
閱讀 5569·2021-09-23 11:56
閱讀 1476·2019-08-30 15:55
閱讀 454·2019-08-29 16:05
閱讀 2735·2019-08-29 12:34
閱讀 2050·2019-08-29 12:18
閱讀 922·2019-08-26 12:02
閱讀 1660·2019-08-26 12:00