热点面试题:JS 中 call, apply, bind 概念、用法、区别及实现?
前言
极度投入,深度沉浸,边界清晰
前端小菜鸡一枚,分享的文章纯属个人见解,若有不正确或可待讨论点可随意评论,与各位同学一起学习~
欢迎关注
『前端进阶圈』
公众号 ,一起探索学习前端技术......公众号回复
加群
或扫码
, 即可加入前端交流学习群,长期交流学习......公众号回复
加好友
,即可添加为好友
热点面试题:JS 中 call, apply, bind 概念、用法、区别及实现?
概念:
function.call(thisArg, arg1, arg2, ...)
function.apply(thisArg, [arg1, arg2, ...])
function.bind(thisArg, arg1, arg2, ...)
三者都是改变
this
指向,通过一个参数或多个参数来调用一个函数的。
用法:
区别:
call 与 bind 的区别?
call
会直接调用,而bind
会创建一个新的函数作为一个返回值进行调用, 而其余参数将作为新函数的参数,供调用时使用call 与 apply 的区别?
主要区别在第二个参数中,
call
接受的是一个参数列表,也就是一个个参数,而apply
接受的是一个包含多个参数的数组
实现:
function.call(thisArg, arg1, arg2, ...)
function.apply(thisArg, [arg1, arg2, ...])
function.bind(thisArg, arg1, arg2, ...)
文章特殊字符描述:
问题标注
Q:(question)
答案标注
R:(result)
注意事项标准:
A:(attention matters)
详情描述标注:
D:(detail info)
总结标注:
S:(summary)
分析标注:
Ana:(analysis)
提示标注:
T:(tips)
往期回顾:
最后:
欢迎关注
『前端进阶圈』
公众号 ,一起探索学习前端技术......公众号回复
加群
或扫码
, 即可加入前端交流学习群,长期交流学习......公众号回复
加好友
,即可添加为好友
版权声明: 本文为 InfoQ 作者【控心つcrazy】的原创文章。
原文链接:【http://xie.infoq.cn/article/d342423d72770ec2150042118】。文章转载请联系作者。
评论