最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

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

IT培训 admin 10浏览 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);

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

我玩弄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. 暂无评论