gpt4 book ai didi

prototypejs - 'Identity Function' 的目的?

转载 作者:行者123 更新时间:2023-12-04 02:41:58 25 4
gpt4 key购买 nike

我在阅读 PrototypeJS 的文档时遇到了这个主题:它的 Identity Function .我对它做了一些进一步的搜索和阅读,我想我理解它的数学基础(例如,乘以 1 是一个恒等函数(或者我是否误解了这个?)),但不是你为什么要编写 JS(或 PHP 或 C 或其他) - 基本上将 X 作为参数然后执行类似 return X 的函数.

是否有与此相关的更深层次的见解?为什么 Prototype 提供这个功能?我可以用它做什么?

谢谢 :)

最佳答案

使用 Identity 函数使库代码更易于阅读。拍Enumerable#any方法:

  any: function(iterator, context) {
iterator = iterator || Prototype.K;
var result = false;
this.each(function(value, index) {
if (result = !!iterator.call(context, value, index))
throw $break;
});
return result;
},

它允许您检查数组的任何元素在 bool 上下文中是否为真。像这样:
$A([true, false, true]).any() == true

但它也允许您在检查是否为真之前处理每个元素:
$A([1,2,3,4]).any(function(e) { return e > 2; }) == true

现在如果没有身份函数,您将不得不编写任何函数的两个版本,一个如果您预处理,一个如果您不预处理。
  any_no_process: function(iterator, context) {
var result = false;
this.each(function(value, index) {
if (value)
throw $break;
});
return result;
},

any_process: function(iterator, context) {
return this.map(iterator).any();
},

关于prototypejs - 'Identity Function' 的目的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1298627/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com