MDN Javascript绑定():

MDN Javascript绑定():,javascript,Javascript,Function.prototype.bind()的用法之一如下: bind()的下一个最简单用法是使用 预先指定的初始参数。这些参数(如果有)遵循 提供此值,然后插入到 传递给目标函数的参数,后跟参数 在调用绑定函数时传递给绑定函数 问题:为什么未定义在这里被绑定?它应该是本应发送的上下文。如果同样的情况发生在这里,那么未定义的对象是如何定义的 var leadingThirtysevenList = list.bind(undefined, 37); 为什么未定义在这里被绑定 因为list中

Function.prototype.bind()的用法之一如下:

bind()的下一个最简单用法是使用 预先指定的初始参数。这些参数(如果有)遵循 提供此值,然后插入到 传递给目标函数的参数,后跟参数 在调用绑定函数时传递给绑定函数

问题:为什么未定义在这里被绑定?它应该是本应发送的上下文。如果同样的情况发生在这里,那么未定义的对象是如何定义的

var leadingThirtysevenList = list.bind(undefined, 37);
为什么未定义在这里被绑定

因为
list
this
的值无关紧要(因为
list
从未引用过
this
),但必须将参数0指定为某个值才能指定参数1

未定义的对象是如何定义的

var leadingThirtysevenList = list.bind(undefined, 37);

因为JavaScript是这样定义的。

因为
列表中的
这个
没有使用,所以任何东西都可以传递。得到了第一部分,这澄清了我的第二部分。
未定义的
不是对象。它是一个特殊的值,并且是它自己的类型。