gpt4 book ai didi

javascript - Previous Function 如何将其结果传递给回调

转载 作者:行者123 更新时间:2023-11-30 08:37:46 27 4
gpt4 key购买 nike

我试图了解回调在这种情况下的工作原理。

例如给定这段代码:

var images = jQuery.map((1234567 + '').split(''), function(n) {
return '<img src="' + n + '.png" />'
})

匿名函数作为回调传入,但“n”是如何在每次拆分后神奇地填充的?它如何传递到 n 参数中?我的意思是我不会假设 split 会将它的值注入(inject) n..它怎么知道要那样做?

让我们再举一个例子,但这一次,我们显式将参数传递给回调函数

function randomGenerator(min, max, callback)
{
var myNumber = Math.floor(Math.random() * (max - min + 1)) + min;
setTimeout(function() { callback(myNumber); }, 500);
}

这非常简单,很明显 myNumber 是如何连接(显式传递)到 callback() 的;

问题是在我的第一个示例中,它是如何隐式这样做的?我的意思是我是否可以假设 map() 在幕后发生的事情比我知道的要多得多?我想也许我必须深入研究 jQuery 库中 Map() 的实现……或者是否有一些关于隐式赋值在 JS 中如何工作的常识?

最佳答案

这就是 .map() 函数的作用。 .split() 调用只是构建 .map() 将迭代的数组。

传递给 .map() 的函数为数组中的每个元素(第一个参数)调用一次。每次调用都使用三个参数:数组中元素的值;元素的 index 和数组本身。您的匿名函数只有一个参数(很常见),因此这就是元素值。

关于javascript - Previous Function 如何将其结果传递给回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29882367/

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