首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MDN Javascript Bind():

MDN Javascript Bind():
EN

Stack Overflow用户
提问于 2016-02-15 15:24:31
回答 1查看 433关注 0票数 1

给定Function.prototype.bind()的这里的一种用法

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

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

代码语言:javascript
复制
var leadingThirtysevenList = list.bind(undefined, 37);
代码语言:javascript
复制
function list() {
  return Array.prototype.slice.call(arguments);
}

var list1 = list(1, 2, 3); // [1, 2, 3]

// Create a function with a preset leading argument
var leadingThirtysevenList = list.bind(undefined, 37);

var list2 = leadingThirtysevenList(); // [37]
var list3 = leadingThirtysevenList(1, 2, 3); // [37, 1, 2, 3]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-15 15:27:00

为什么不明确地被绑在这里?

因为thislist中的值并不重要(因为list从来没有引用过this),但是为了指定参数1,您必须将参数0指定为某个参数。

如何定义未定义的对象?

因为JavaScript将其定义为这样。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35413032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档