一位前端小姐姐的进阶笔记(一)
本文首发于微信公众号——世界上有意思的事,搬运转载请注明出处,否则将追究版权责任。交流qq群:859640274 继 一位前端小姐姐的五万字面试宝典 这篇文章之后。 徐漂漂 小姐姐再次投稿,本文是最近小姐姐整理的前端进阶笔记。干货依然成吨,全程依旧高能。希望大家多点赞、评论、关注,给小姐姐继续写文章的动力! 小姐姐的个人博客 小姐姐依然在看机会哟。base 北京,邮箱已经附在 GitHub 上了。欢迎有坑位的同学进行推荐。 一、apply/call/bind 一网打尽 首先,这三个方法是用来改变 this 指向的,接下来我们看一下它们的异同。 1. apply 调用一个对象的一个方法,用另一个对象替换当前对象。例如: B.apply(A, arguments) ; 即 A 对象应用 B 对象的方法。 要注意的是第一个参数,如果这个函数处于非严格模式下,则指定为 null 或 undefined 时会自动替换为指向全局对象,而其他原始值则会被相应的包装对象(wrapper object)所替代。 1.1 如何实现一个apply 回顾一下 apply 的效果,我们可以大致按以下思路走 实现第一个参数的功能,改变 this 指向 实现第二个参数的功能。第二个参数是作为调用函数的参数 返回值:使用调用者提供的 this 值和参数调用该函数的返回值。若该方法没有返回值,则返回