摘要:前言實(shí)踐系列主要是讓我們通過(guò)實(shí)踐去加深對(duì)一些原理的理解。求求三兄弟的作用都是為了改變函數(shù)運(yùn)行時(shí)上下文指向而存在的。不會(huì)立即調(diào)用其他兩個(gè)會(huì)立即調(diào)用。如果有幫助到你請(qǐng)給我一個(gè)就算是對(duì)我的感謝啦
前言
[實(shí)踐系列] 主要是讓我們通過(guò)實(shí)踐去加深對(duì)一些原理的理解。
實(shí)踐系列-前端路由
實(shí)踐系列-Babel原理
實(shí)踐系列-Promises/A+規(guī)范
實(shí)踐系列-瀏覽器緩存機(jī)制
有興趣的同學(xué)可以關(guān)注 我的博客 ,之后不斷會(huì)有干貨更新哦。 求star求follow~
三兄弟的作用.apply.call.bind 都是為了改變函數(shù)運(yùn)行時(shí)上下文(this指向)而存在的。三兄弟的區(qū)別.
三兄弟接收的第一個(gè)參數(shù)都是 要綁定的this指向.
apply的第二個(gè)參數(shù)是一個(gè)參數(shù)數(shù)組,call和bind的第二個(gè)及之后的參數(shù)作為函數(shù)實(shí)參按順序傳入。
bind不會(huì)立即調(diào)用,其他兩個(gè)會(huì)立即調(diào)用。
接下來(lái),我們來(lái)對(duì)三兄弟進(jìn)行模擬實(shí)現(xiàn)
call的簡(jiǎn)易模擬實(shí)現(xiàn)(es6) 思路函數(shù)定義在哪里 ?
call是可以被所有方法調(diào)用的,所以毫無(wú)疑問(wèn)的定義在 Function的原型上!
函數(shù)接收參數(shù) ?
綁定函數(shù)被調(diào)用時(shí)只傳入第二個(gè)參數(shù)及之后的參數(shù)
如何顯式綁定this ?
如果調(diào)用者函數(shù),被某一個(gè)對(duì)象所擁有,那么該函數(shù)在調(diào)用時(shí),內(nèi)部的this指向該對(duì)象。
ojbk..理清了思路.開(kāi)擼
apply的簡(jiǎn)易模擬實(shí)現(xiàn)(es6)apply實(shí)現(xiàn)的思路與call基本相同,我們只需要對(duì)參數(shù)進(jìn)行不同處理即可
bind的簡(jiǎn)易模擬實(shí)現(xiàn)(es6)這里只是做簡(jiǎn)易實(shí)現(xiàn),不考慮new操作符的情況,之后會(huì)寫(xiě)個(gè)文章對(duì)這個(gè)知識(shí)點(diǎn)進(jìn)行詳解~
思路函數(shù)定義在哪里 ?
bind是可以被所有方法調(diào)用的,所以毫無(wú)疑問(wèn)的定義在 Function的原型上!
函數(shù)接收參數(shù) ?
bind函數(shù)返回一個(gè)綁定函數(shù),最終調(diào)用需要傳入函數(shù)實(shí)參和綁定函數(shù)的實(shí)參!!
如何顯式綁定this ?
如果調(diào)用者函數(shù),被某一個(gè)對(duì)象所擁有,那么該函數(shù)在調(diào)用時(shí),內(nèi)部的this指向該對(duì)象。End
如果有幫助到你,請(qǐng)給我一個(gè)star,就算是對(duì)我的感謝啦~
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/102344.html
摘要:根據(jù)定義,沒(méi)有原型,并作為這個(gè)原型鏈中的最后一個(gè)環(huán)節(jié)。偷偷貼在這里再知道了原型原型鏈,那一個(gè)對(duì)象的過(guò)程知道嗎,能手寫(xiě)一個(gè)嗎。 似乎生活中常常會(huì)遇到這種情況,你去一家公司面試,前面面的都挺好,你覺(jué)得你對(duì)基礎(chǔ)算法的了解很好,各種排序,紅黑樹(shù),二叉樹(shù),深度/廣度優(yōu)先算法都答出來(lái)了,leetcode上的若干困難題目也都答上來(lái)了,然后面試官說(shuō),那么好吧,介紹一下你對(duì)原型的看法吧。 ???我頭發(fā)。...
摘要:先說(shuō)下我面試情況,我一共面試了家公司。篇在我面試的眾多公司里,只有同城的面問(wèn)到相關(guān)問(wèn)題,其他公司壓根沒(méi)問(wèn)。我自己回答的是自己開(kāi)發(fā)組件面臨的問(wèn)題。完全不用擔(dān)心對(duì)方到時(shí)候打電話核對(duì)的問(wèn)題。 2019的5月9號(hào),離發(fā)工資還有1天的時(shí)候,我的領(lǐng)導(dǎo)親切把我叫到辦公室跟我說(shuō):阿郭,我們公司要倒閉了,錢(qián)是沒(méi)有的啦,為了不耽誤你,你趕緊出去找工作吧。聽(tīng)到這話,我虎軀一震,這已經(jīng)是第2個(gè)月沒(méi)工資了。 公...
摘要:為了避免它,只需分配將要使用的必要構(gòu)造函數(shù)。示例對(duì)于此示例,就需要保持父構(gòu)造函數(shù)繼續(xù)正常工作。結(jié)論手動(dòng)設(shè)置或更新構(gòu)造函數(shù)可能會(huì)導(dǎo)致不同且有時(shí)令人困惑的后果。為了防止它,只需在每個(gè)特定情況下定義構(gòu)造函數(shù)的角色。 hr小姐姐說(shuō)一共有1輪筆試 + 3輪技術(shù)面 + 1輪hr面,面試地點(diǎn)在中關(guān)村天使大廈,崗位是1-3年前端 筆試 筆試分為多選 簡(jiǎn)答 判斷 手寫(xiě)代碼四部分,下面只寫(xiě)了印象比較深的幾...
摘要:之前寫(xiě)過(guò)一篇文章面試官問(wèn)能否模擬實(shí)現(xiàn)的和方法就是利用對(duì)象上的函數(shù)指向這個(gè)對(duì)象,來(lái)模擬實(shí)現(xiàn)和的。雖然實(shí)際使用時(shí)不會(huì)顯示返回,但面試官會(huì)問(wèn)到。非嚴(yán)格模式下,和,指向全局對(duì)象 前言 面試官出很多考題,基本都會(huì)變著方式來(lái)考察this指向,看候選人對(duì)JS基礎(chǔ)知識(shí)是否扎實(shí)。讀者可以先拉到底部看總結(jié),再谷歌(或各技術(shù)平臺(tái))搜索幾篇類(lèi)似文章,看筆者寫(xiě)的文章和別人有什么不同(歡迎在評(píng)論區(qū)評(píng)論不同之處),...
摘要:點(diǎn)擊那么面試官可能會(huì)問(wèn)是否想過(guò)到底做了什么,怎么模擬實(shí)現(xiàn)呢。另外前不久寫(xiě)過(guò)一篇文章面試官問(wèn)能否模擬實(shí)現(xiàn)的操作符。所以相當(dāng)于調(diào)用時(shí),的返回值函數(shù)內(nèi)部要模擬實(shí)現(xiàn)實(shí)現(xiàn)的操作。文章中的例子和測(cè)試代碼放在中模擬實(shí)現(xiàn)。 前言 用過(guò)React的同學(xué)都知道,經(jīng)常會(huì)使用bind來(lái)綁定this。 import React, { Component } from react; class TodoItem ...
閱讀 1309·2021-11-24 09:39
閱讀 471·2019-08-30 14:12
閱讀 2679·2019-08-30 13:10
閱讀 2503·2019-08-30 12:44
閱讀 1021·2019-08-29 16:31
閱讀 939·2019-08-29 13:10
閱讀 2525·2019-08-27 10:57
閱讀 3216·2019-08-26 13:57