最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

谓词功能减低为什么需要包装的功能?

运维笔记admin11浏览0评论

谓词功能减低为什么需要包装的功能?

谓词功能减低为什么需要包装的功能?

我玩弄Array.reduce与集之间的互动,我发现以下奇怪的行为。

通常情况下这个工程:

console.log(
  Set.prototype.add.call(new Set(), 1, 0, [])
);
// Set { 1 }
回答如下:

实际上有脚本的两个部分需要以正常工作的正确调用上下文(或this值)。第一部分,你已经想通了,是你需要调用Set.prototype.add与新创建Set的呼唤下,通过传递Set.call第一个参数:

// works:
Set.prototype.add.call(new Set(), 1, 0, []);
// works, args[0] is the new Set:
[1,2,3].reduce((..args) => Set.prototype.add.call(..args), new Set());

但另一个问题是,.call需要与approprite调用上下文被调用。 Set.prototype.add.call指的是相同的功能Function.prototype.call

console.log(Set.prototype.add.call === Function.prototype.call);
发布评论

评论列表(0)

  1. 暂无评论