大厂面试指北(大厂面试必备之call)

一般在js中this的指向为:谁掉用当前this所在的函数,this就指向谁但有的时候我们想改变this的指向,这时候就可以用到call和apply,今天小编就来说说关于大厂面试指北?下面更多详细答案一起来看看吧!

大厂面试指北(大厂面试必备之call)

大厂面试指北

call 和 apply的理解

一般在js中this的指向为:谁掉用当前this所在的函数,this就指向谁。但有的时候我们想改变this的指向,这时候就可以用到call和apply

什么时候使用call apply

给一个场景

宿舍中,小A有每天洗头的习惯,每次洗完之后,头发湿漉漉的不方便,于是就攒钱买了一个吹风机,洗完之后吹一吹,神清气爽。小B洗头没有小A频繁,偶尔洗一次,洗完之后也是湿漉漉的不方便,但是又因为自己洗的次数少,所以不想再单独买一个吹风机,于是每次就借用小A的吹风机。

那么此时,我们如果把小A和小B都理解成一个对象,吹风机就是小A方法,它的所有人就是小A,小A在使用吹风机的时候,小A就是吹风就的执行上下文(this)。小B偶尔会需要用到吹风机,因为使用频次少,没必要重新买一个造成资源浪费,所以每次都是借用小A的,那么小B在使用吹风机的时候,吹风机被小B调用,此时小B就是吹风机的执行上下文(this)。此时吹风机的执行上下文(this)就被修改了。

again

在代码中,当一个对象A具有一个方法fn,另一个对象B没有方法,但是需要用到同样功能的fn方法时,可以通过改变A对象中函数fn的执行上下文(this)来实现调用,达到节约代码空间,不产生冗余函数的目的

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页