Javascript 如何';新';运算符是否在bind()中处理?

Javascript 如何';新';运算符是否在bind()中处理?,javascript,Javascript,我正在学习JavaScript中的.call(),.apply(),.bind()方法。说到bind()方法,我遇到了一行: 请注意,如果绑定函数是使用“new”运算符构造的,则忽略第一个参数的值 我不明白。使用new操作符构造一个绑定函数意味着什么?我们来分析一下。首先,“new”关键字的作用是什么?除此之外,它调用前面的函数,但将“this”的值设置为新创建的空对象。 这在使用构造函数创建对象的新实例时非常有用。(我建议你多读一些) 另一方面,现在.bind方法将创建调用它的函数的副本,但将

我正在学习JavaScript中的
.call()
.apply()
.bind()
方法。说到
bind()
方法,我遇到了一行:

请注意,如果绑定函数是使用“new”运算符构造的,则忽略第一个参数的值


我不明白。使用
new
操作符构造一个绑定函数意味着什么?

我们来分析一下。首先,“new”关键字的作用是什么?除此之外,它调用前面的函数,但将“this”的值设置为新创建的空对象。 这在使用构造函数创建对象的新实例时非常有用。(我建议你多读一些)

另一方面,现在.bind方法将创建调用它的函数的副本,但将值“this”设置为传递给它的第一个参数

因此,这只是意味着,如果您使用new尝试调用与“this”关键字的值绑定的函数,“new”关键字将覆盖您的.bind,“this”将设置为空对象


正如我所说,“new”用于使用“构造”该实例的函数创建新实例。因此,使用“new”来构造绑定函数意味着使用绑定函数作为构造函数。

因此,让我们将其分解。首先,“new”关键字的作用是什么?除此之外,它调用前面的函数,但将“this”的值设置为新创建的空对象。 这在使用构造函数创建对象的新实例时非常有用。(我建议你多读一些)

另一方面,现在.bind方法将创建调用它的函数的副本,但将值“this”设置为传递给它的第一个参数

因此,这只是意味着,如果您使用new尝试调用与“this”关键字的值绑定的函数,“new”关键字将覆盖您的.bind,“this”将设置为空对象


正如我所说,“new”用于使用“构造”该实例的函数创建新实例。因此,使用“new”来构造绑定函数意味着使用绑定函数作为构造函数。

您可以在
function F(){console.log(this);}上查看绑定示例;设G=F.bind({key:'value'})
compare
newg()
to
G()
您可以通过
Omer Goldberg
函数F(){console.log(this);}中检查绑定示例;设G=F.bind({key:'value'})比较
newg()
G()