JS手写bind函数如何应对new操作符的详细解析?

更新于
2026-09-23 16:05:35
0阅读来源:SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1542个文字,预计阅读时间需要7分钟。

JS手写bind函数如何应对new操作符的详细解析?

目录 + new + 判断函数是否通过 new 被调用 + new + 和 bind 实现完整的 bind 结尾 + 大家好,我是前端西瓜哥。+ 之前写过一篇关于 JS 中 bind 方法的实现的文章,并给出了实现:+ Function.prototype.myBind=function() {+ // ...+ };

目录
  • new
  • 判断函数是否通过 new 被调用
  • new 和 bind
  • 实现完整的 bind
  • 结尾

大家好,我是前端西瓜哥。

之前写了一篇关于 JS 中 bind 方法的实现的文章,并给出了实现:

Function.prototype.myBind = function(thisArg, ...prefixArgs) { const fn = this; return function(...args) { return fn.call(thisArg, ...prefixArgs, ...args); } }

但没有处理 通过 new 创建实例 的情况。

因为很少会遇到给 bind 返回的函数做 new 操作的场景,所以我没去考虑这种特殊情况。

但面试中还是会涉及到的,我们还是实现一下兼容 new 操作的 bind 写法,顺便学习一下 new 操作符。

因为存在一定上下文,在阅读本文前,建议先阅读前一篇文章:《前端面试题:手写 bind》。

new

我们先学习一下 new 操作符。

阅读全文

本文共计1542个文字,预计阅读时间需要7分钟。

JS手写bind函数如何应对new操作符的详细解析?

目录 + new + 判断函数是否通过 new 被调用 + new + 和 bind 实现完整的 bind 结尾 + 大家好,我是前端西瓜哥。+ 之前写过一篇关于 JS 中 bind 方法的实现的文章,并给出了实现:+ Function.prototype.myBind=function() {+ // ...+ };

目录
  • new
  • 判断函数是否通过 new 被调用
  • new 和 bind
  • 实现完整的 bind
  • 结尾

大家好,我是前端西瓜哥。

之前写了一篇关于 JS 中 bind 方法的实现的文章,并给出了实现:

Function.prototype.myBind = function(thisArg, ...prefixArgs) { const fn = this; return function(...args) { return fn.call(thisArg, ...prefixArgs, ...args); } }

但没有处理 通过 new 创建实例 的情况。

因为很少会遇到给 bind 返回的函数做 new 操作的场景,所以我没去考虑这种特殊情况。

但面试中还是会涉及到的,我们还是实现一下兼容 new 操作的 bind 写法,顺便学习一下 new 操作符。

因为存在一定上下文,在阅读本文前,建议先阅读前一篇文章:《前端面试题:手写 bind》。

new

我们先学习一下 new 操作符。

阅读全文