您的位置:首页 > 国内要闻

日积跬步,apply/call/bind 自我实现

时间:2019-09-01

在日常编码中,开发人员习惯于实现“对象模拟”,即“显示绑定”。

“调用/应用/绑定源实现”实际上是对JavaScript基础知识的综合评估。

相关知识点:

范围;

这指向;

函数currying;

原型和原型链;

这三个都可用于显示绑定;

不同之处在于参数的传递方式;

,传递参数列表,以逗号分隔;

,传递参数数组;

返回的是一个要执行的函数,它是函数currying的应用程序,但函数立即执行

有一个粗略的想法,其余的是改进代码。

知识点补充:

ES6的新原始数据类型,代表唯一值;

创建一个空对象

使用创建的空对象而不受原型链的干扰。原型链终端指向,将没有构造函数,并且将没有诸如,等等的属性。这些属性来自。与原型链基础的合作伙伴应该知道所有常见对象的原型链将指向。

因此,创建的空对象比其他两个方法更清晰,并且原型链上没有属性。

ES5版本:

自己处理参数;

自实施

源代码实现,然后很简单,两者只是传递参数的不同方式。

和之间的区别在于返回要执行的函数,而不是函数的结果;

返回的函数用作构造函数,需要忽略绑定;

调用绑定函数时,作为this参数传递给目标函数的值。如果使用new运算符构造绑定函数,则忽略此值。 MDN

很多合作伙伴会遇到这样的问题,不用,怎么实现?

不要惊慌,不要使用它,相当于用相应的自我实现方法替换它。

该源代码的实现是对前一篇文章系列知识点的深化和巩固。

“我心中有一个代码,我很着急。”

参考文档:

MDN - Function.prototype.bind()

不要使用调用和应用方法来模拟ES5绑定方法的实现

更多的前端基石,都在Github,期待明星!

作者:音乐的名称

这篇文章是原创的,有不合适的地方欢迎。请说明来源。

以音乐的名义

0.3

2019.08.11 09: 48 *

字数737

在日常编码中,开发人员习惯于实现“对象模拟”,即“显示绑定”。

“调用/应用/绑定源实现”实际上是对JavaScript基础知识的综合评估。

相关知识点:

范围;

这指向;

函数currying;

原型和原型链;

这三个都可用于显示绑定;

不同之处在于参数的传递方式;

,传递参数列表,以逗号分隔;

,传递参数数组;

返回的是一个要执行的函数,它是函数currying的应用程序,但函数立即执行

有一个粗略的想法,其余的是改进代码。

知识点补充:

ES6的新原始数据类型,代表唯一值;

创建一个空对象

使用创建的空对象而不受原型链的干扰。原型链终端指向,将没有构造函数,并且将没有诸如,等等的属性。这些属性来自。与原型链基础的合作伙伴应该知道所有常见对象的原型链将指向。

因此,创建的空对象比其他两个方法更清晰,并且原型链上没有属性。

ES5版本:

自己处理参数;

自实施

源代码实现,然后很简单,两者只是传递参数的不同方式。

和之间的区别在于返回要执行的函数,而不是函数的结果;

返回的函数用作构造函数,需要忽略绑定;

调用绑定函数时,作为this参数传递给目标函数的值。如果使用new运算符构造绑定函数,则忽略此值。 MDN

很多合作伙伴也会遇到这样的质疑,不使用,如何实现?

不要在圣年之前恐慌。不,它不等于用相应的自我实现方法替换它。这是一种懒惰的工艺。

本文的源代码实现是对以前文章系列知识点的深化和巩固。

“如果你心中有一个尺度,不要在未来的路上恐慌。”

参考文件:

MDN - 功能。原型。 bind()

无需调用即可模拟ES5的绑定方法并应用

更多的前端基石建设,都在Github,期待明星!

Yong /博客

作者:以幸福的名义

这篇文章是原创的,有不合适的地方欢迎指出。转载请注明出处。

在日常编码中,开发人员习惯于实现“对象模拟”或“显示绑定”。

“调用/应用/绑定源实现”实际上是对JavaScript基础知识的全面评估。

相关知识点:

范围;

这是指向;

功能的价值化;

原型和原型链;

这三个都可用于显示绑定;

不同之处在于参数传递的不同方式。

传递以逗号分隔的参数列表;

传递一系列参数;

它返回一个要执行的函数,一个函数coritization的应用程序,以及一个要执行的立即函数。

有一个粗略的想法,其余的是改进代码。

知识点补充:

ES6的新原始数据类型,代表唯一值;

创建一个空对象

使用创建的空对象而不受原型链的干扰。原型链终端指向,将没有构造函数,并且将没有诸如,等等的属性。这些属性来自。与原型链基础的合作伙伴应该知道所有常见对象的原型链将指向。

因此,创建的空对象比其他两个方法更清晰,并且原型链上没有属性。

ES5版本:

自己处理参数;

自实施

源代码实现,然后很简单,两者只是传递参数的不同方式。

和之间的区别在于返回要执行的函数,而不是函数的结果;

返回的函数用作构造函数,需要忽略绑定;

调用绑定函数时,作为this参数传递给目标函数的值。如果使用new运算符构造绑定函数,则忽略此值。 MDN

很多合作伙伴会遇到这样的问题,不用,怎么实现?

不要惊慌,不要使用它,相当于用相应的自我实现方法替换它。

该源代码的实现是对前一篇文章系列知识点的深化和巩固。

“我心中有一个代码,我很着急。”

参考文档:

MDN - Function.prototype.bind()

不要使用调用和应用方法来模拟ES5绑定方法的实现

更多的前端基石,都在Github,期待明星!

作者:音乐的名称

这篇文章是原创的,有不合适的地方欢迎。请说明来源。

  • 友情链接:
  • 安徽新闻网 版权所有© www.witkeyblog.com 技术支持:安徽新闻网| 网站地图