美文网首页
call与apply以及bind的区别

call与apply以及bind的区别

作者: 洪源9213 | 来源:发表于2018-11-04 12:26 被阅读0次

作为一名前端小白,就要开始了自己的第一篇文章了,心里也是小小的激动,同时也是为自己以后前端路上的成长铺好基石。好了,废话不多说,在之前的面试中,时常会被问到关于call与apply的区别,尽管面试前做足了准备,可是被问到了还是一脸懵逼,所以今天特地网上看了一些文章来做个总结。

call与apply的区别:

obj.call(thisobj,...num1,num2);

obj.apply(thisobj,[num1,num2,...]);

以上两行代码作用实际上都是一样的,都是让thisobj具有obj的属性和方法,唯一的不同点就是call后面所跟的参数主要是连续参数,而apply后面所跟的参数主要是以数组形式来进行呈现的;

实际上说了那么多,相信大家应该也明白了,实际上就是关于继承的问题了;

举个例子详细说明:

var obj={0:1,1:'hy',2:25};

obj.slice();     //显然这里是会报错的,因为slice的方法是数组所拥有的

那么我们就考虑通过使obj来具有数组的属性和方法

Array.prototype.slice.call(obj);

console.log(obj);

以上自然也就可以打印出结果了

最后说一点关于bind的方法使用

bind同样也是可以实现继承的,具体代码如下

obj.bind(thisobj,...num1,num2)();

记住后面一定要添加括号,否则一定会报错;

面试过程中延伸提问,您还了解其他的继承方式吗?关于闭包,原型,原型链您了解吗?

以上所说不做详细阐述,自己上网看文档,我也要看文档,哈哈

推荐https://www.cnblogs.com/chenweizhen/p/6421564.html转载自臻爷爷

相关文章

  • this_原型链_继承

    this相关问题 apply、call 、bind的作用以及区别 call、apply和bind方法的用法以及区别...

  • 理解JS中的 call, apply, bind方法

    call, apply, bind 方法的目的和区别 我们常说,call(), apply(),bind()方法的...

  • this 继承

    1.apply call bind的作用与区别 apply call bind都是用来改变函数执行的上下文,也就是...

  • this&原型链&继承

    this 1. apply、call 、bind有什么作用,什么区别? apply、call 、bind 都是用来...

  • 关于 this_原型链_继承 相关问题总结

    关于this 1- apply、call 、bind的作用和区别 apply、call 、bind都有改变thi...

  • JS-call、apply、bind用法

    一、call&apply与bind区别 call和apply方法对函数直接调用bind方法后面还需要()来进行调用...

  • this_原型链_继承

    this 相关 1. apply、call 、bind有什么作用,什么区别 apply、call、bind可以改变...

  • this_原型链_继承

    问题1: apply、call 、bind有什么作用,什么区别? apply和call call apply,调用...

  • this 原型链 继承

    this 相关问题 1.apply、call 、bind有什么作用,什么区别 apply、call 、bind这三...

  • call(),apply()和bind()

    call、apply和bind函数存在的区别:bind返回对应函数, 便于稍后调用; apply, call则是立...

网友评论

      本文标题:call与apply以及bind的区别

      本文链接:https://www.haomeiwen.com/subject/ysyrxqtx.html